1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| void MaForme::paint(wxGLCanvas * gl.....) {
// Un ptit polygone concave
double poly[5][3] = { 0.2, 0.2, 0,
0.8, 0.2, 0,
0.8, 0.8, 0,
0.5, 0.5, 0,
0.2, 0.8, 0 };
// Création du tesselator
GLUtesselator * tobj = gluNewTess();
// Définition des fcts callback
gluTessCallback(tobj, GLU_TESS_VERTEX, (void (__stdcall *)(void))vertexCallback);
gluTessCallback(tobj, GLU_TESS_BEGIN, (void (__stdcall *)(void))beginCallback);
gluTessCallback(tobj, GLU_TESS_END, (void (__stdcall *)(void))endCallback);
gluTessCallback(tobj, GLU_TESS_ERROR, (void (__stdcall *)(void))errorCallback);
// Dessin des 5 points du poly.
gluTessBeginPolygon(tobj, NULL);
gluTessBeginContour(tobj);
for(int i=0; i<5; i++)
gluTessVertex(tobj, poly[i], poly[i]);
gluTessEndContour(tobj);
gluTessEndPolygon(tobj);
gluDeleteTess(tobj);
} |