52 #define TESS_MAX_CACHE 100 135 #define CALL_BEGIN_OR_BEGIN_DATA(a) \ 136 if (tess->callBeginData != &__gl_noBeginData) \ 137 (*tess->callBeginData)((a),tess->polygonData); \ 138 else (*tess->callBegin)((a)); 140 #define CALL_VERTEX_OR_VERTEX_DATA(a) \ 141 if (tess->callVertexData != &__gl_noVertexData) \ 142 (*tess->callVertexData)((a),tess->polygonData); \ 143 else (*tess->callVertex)((a)); 145 #define CALL_EDGE_FLAG_OR_EDGE_FLAG_DATA(a) \ 146 if (tess->callEdgeFlagData != &__gl_noEdgeFlagData) \ 147 (*tess->callEdgeFlagData)((a),tess->polygonData); \ 148 else (*tess->callEdgeFlag)((a)); 150 #define CALL_END_OR_END_DATA() \ 151 if (tess->callEndData != &__gl_noEndData) \ 152 (*tess->callEndData)(tess->polygonData); \ 153 else (*tess->callEnd)(); 155 #define CALL_COMBINE_OR_COMBINE_DATA(a,b,c,d) \ 156 if (tess->callCombineData != &__gl_noCombineData) \ 157 (*tess->callCombineData)((a),(b),(c),(d),tess->polygonData); \ 158 else (*tess->callCombine)((a),(b),(c),(d)); 160 #define CALL_ERROR_OR_ERROR_DATA(a) \ 161 if (tess->callErrorData != &__gl_noErrorData) \ 162 (*tess->callErrorData)((a),tess->polygonData); \ 163 else (*tess->callError)((a));
void GLAPIENTRY __gl_noEdgeFlagData(GLboolean boundaryEdge, void *polygonData)
void GLAPIENTRY __gl_noCombineData(GLdouble coords[3], void *data[4], GLfloat weight[4], void **outData, void *polygonData)
void GLfloat void ** outData
void GLAPIENTRY __gl_noErrorData(GLenum errnum, void *polygonData)
void GLAPIENTRY __gl_noBeginData(GLenum type, void *polygonData)
void GLAPIENTRY __gl_noEndData(void *polygonData)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
struct CachedVertex CachedVertex
void GLfloat void void * polygonData
void(GLAPIENTRY *callError)(GLenum errnum)
void GLAPIENTRY __gl_noVertexData(void *data, void *polygonData)
GLuint GLuint GLsizei GLenum type