Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U kunt maximaal vijf callbackfuncties opgeven voor een tessellatie. Functies die u niet opgeeft, worden niet aangeroepen tijdens de tesselatie en u krijgt geen informatie die ze mogelijk hebben geretourneerd. U geeft de callback-functies op met gluTessCallback.
De functie gluTessCallback koppelt de callback-functie fn aan het tessellation-object tessobj. Het type callback wordt bepaald door de parameter type, dat kan zijn GLU_BEGIN, GLU_EDGE_FLAG, GLU_VERTEX, GLU_ENDof GLU_ERROR. De vijf mogelijke callbackfuncties hebben de volgende prototypes.
| Callbackfunctie | Prototype |
|---|---|
| GLU_BEGIN | voidbegin(GLenumtype ); |
| GLU_EDGE_FLAG | voidedgeFlag(GLbooleanvlag); |
| GLU_VERTEX | hoekpunt(**void **gegevens ); |
| GLU_END | voidend(void); |
| GLU_ERROR | fout(GLenumerrno ); |
Als u een callback-functie wilt wijzigen, roept u gluTessCallback- aan met de nieuwe functie. Als u een callback-functie wilt elimineren zonder deze te vervangen door een nieuwe, geef dan een null pointer door aan gluTessCallback voor de betreffende functie.
Naarmate de stelling vordert, worden de callbackfuncties aangeroepen op een manier die vergelijkbaar is met de manier waarop u de OpenGL-functies zou gebruiken glBegin, glEdgeFlag, glVertexen glEnd.
De GLU_BEGIN callback-functie wordt aangeroepen met een van de drie mogelijke parameters:
- GL_TRIANGLE_FAN
- GL_TRIANGLE_STRIP
- GL_TRIANGLES
Na het aanroepen van de GLU_BEGIN callback-functie en voordat u de callback-functie aanroept die is gekoppeld aan GLU_END, wordt een combinatie van de GLU_EDGE_FLAG en GLU_VERTEX callbacks aangeroepen. De bijbehorende hoekpunten en randvlagmen worden precies geïnterpreteerd zoals ze zich in OpenGL bevinden tussen glBegin(GL_TRIANGLE_FAN), glBegin(GL_TRIANGLE_STRIP) of glBegin(GL_TRIANGLES**)** en de overeenkomende glEnd.
Omdat randvlagmen niet logisch zijn in een driehoekventilator of driehoeksstrook, wordt de GLU_BEGIN callback alleen aangeroepen met GL_TRIANGLESals er een callback-functie aan GLU_EDGE_FLAGis gekoppeld. De GLU_EDGE_FLAG callback-functie werkt vergelijkbaar met de functie OpenGL glEdgeFlag.
Als er een fout optreedt tijdens de tessellation, wordt de callback-functie voor fouten aangeroepen. De error callback-functie ontvangt een GLU-foutnummer. U kunt een tekenreeks verkrijgen die de fout beschrijft met de functie gluErrorString.