15 constexpr static const bool AlwaysDrawComponentsAsBoxes =
false;
17 PCBoardMesh(
const PCBoard&,
int z,
char mask = RENDER_MASK_ALL);
23 void setCamera(
const Camera&);
24 void setExtraSet(
const std::set<Object *> *);
25 void setLineWidth(
float w) { mLineWidthBase = w; }
26 void setLineAlpha(
float a) { mLineAlpha = a; }
27 void setFillAlpha(
float a) { mFillAlpha = a; }
29 static constexpr const GLushort RestartIndex = 0xffff;
31 static constexpr const char RENDER_MASK_COMPONENTS = 0x1;
32 static constexpr const char RENDER_MASK_PINS = 0x2;
33 static constexpr const char RENDER_MASK_ALL = 0x3;
36 struct { uint16_t Line{0}, Fan{0}, Quad{0}; } Start, End;
43 const std::set<Object *> *mExtraSet{0};
48 GLsizei mIndexCountL{0};
49 GLsizei mIndexCountT{0};
50 GLsizei mRoundVertexCount{0};
51 GLfloat mLineWidth{4.0f};
52 GLfloat mLineWidthBase{4.0f};
53 GLfloat mLineAlpha{1.0f};
54 GLfloat mFillAlpha{1.0f};
55 std::map<Object *, IndexRange> mIndexRanges;
56 std::vector<GLsizei> mExtraCount;
57 std::vector<GLsizei> mExtraCountRound;
58 std::vector<void *> mExtraStart;
59 std::vector<GLint> mExtraStartRound;
62 void countVerticesAndIndices(GLsizei &numVerts, GLsizei &numRoundVerts, GLsizei &numIndsL, GLsizei &numIndsT)
const;
63 void countVerticesAndIndices(GLsizei &numVerts, GLsizei &numRoundVerts, GLsizei &numIndsL, GLsizei &numIndsT,
const AShape *)
const;
65 void *indexAddress(uint16_t)
const;
69 static GLuint sVP, sRoundVP, sExtraVP;
70 static GLuint sFP, sRoundFP, sExtraFP;
71 static GLuint sPP, sRoundPP, sExtraPP;
72 static GLint sUniformRoundAlpha;
73 static GLint sUniformFillAlpha;