6 #ifndef BASICSHAPERENDERER_H 7 #define BASICSHAPERENDERER_H 14 typedef void (*FacePrepFcn)(
void* caller,
int faceIndex);
43 void renderShape(FacePrepFcn prepareForFace =
nullptr,
void* caller =
nullptr);
57 const std::string& mcPositionNameIn,
58 const std::string& mcNormalNameIn,
59 const std::string& texCoordsNameIn);
72 float sMin=0.0,
float sMax=1.0,
float tMin=0.0,
float tMax=1.0);
83 void defineGeometry();
87 GLuint vao, vertexBuffer, normalBuffer, textureCoordBuffer, *ebo;
88 GLuint texCoordBufferForBlock;
91 static std::string mcPositionName;
92 static std::string mcNormalName;
93 static std::string texCoordsName;
98 static float texCoordsForBlock[8][2];
virtual ~BasicShapeRenderer()
Definition: BasicShapeRenderer.c++:22
BasicShapeRenderer(ShaderIF *sIF, BasicShape *shapeIn)
Definition: BasicShapeRenderer.c++:12
static void setGLSLVariableNames(const std::string &mcPositionNameIn, const std::string &mcNormalNameIn, const std::string &texCoordsNameIn)
Definition: BasicShapeRenderer.c++:183
static void setUseEBOs(bool b)
Definition: BasicShapeRenderer.h:80
void getMCBoundingBox(double *xyzLimits) const
Definition: BasicShapeRenderer.c++:113
Definition: BasicShape.h:25
void setTexCoordsForBlock(int faceIndex, float sMin=0.0, float sMax=1.0, float tMin=0.0, float tMax=1.0)
Definition: BasicShapeRenderer.c++:191
Definition: BasicShapeRenderer.h:16
void renderShape(FacePrepFcn prepareForFace=nullptr, void *caller=nullptr)
Definition: BasicShapeRenderer.c++:118