gluBeginSurface: Unterschied zwischen den Versionen
() |
DGLBot (Diskussion | Beiträge) K (GluBeginSurface wurde nach gluBeginSurface verschoben) |
(kein Unterschied)
|
Version vom 5. Dezember 2005, 20:45 Uhr
Inhaltsverzeichnis
gluBeginSurface, gluEndSurface
Name
gluBeginSurface, gluEndSurface - umschließen eine NURBS-Oberflächendefinition.
Delphi-Spezifikation
procedure gluBeginSurface(nobj: PGLUnurbs); procedure gluEndSurface(nobj: PGLUnurbs);
Parameter
nobj | Bestimmt ein NURBS Objekt. (Erstellt mit gluNewNurbsRenderer) |
Beschreibung
Benutzen Sie gluBeginSurface um den Anfang einer NURBS-Oberflächendefinition zu markieren.
Nach dem Aufruf von gluBeginSurface können Sie keinen oder mehr Aufrufe von gluNurbsSurface ausführen um die Eigenschaften der Oberfläche zu definieren.
Genau einer dieser Aufrufe von gluNurbsSurface muss einen Oberflächentyp gleich GL_MAP2_VERTEX_3 oder GL_MAP2_VERTEX_4 haben.
Um das Ende der Oberflächendefinition zu markieren rufen Sie gluEndSurface auf.
Das Schneiden von NURBS-Oberflächen wird via gluBeginTrim, gluPwlCurve, gluNurbsCurve und gluEndTrim unterstützt. Siehe gluBeginTrim für nähere Angaben.
OpenGL-Evaluatoren werden genutzt um die NURBS-Oberflächen als Satz von Polygonen zu rendern. Der Evaluatoren-Status wird während des Renderns mit glPushAttrib(GL_EVAL_BIT) gesichert und mit glPopAttrib wieder hergestellt. Siehe glPushAttrib um genau zu sehen welche States gesichert werden.
Beispiel
Die folgenden Befehle rendern eine texturierte NURBS-Oberfläche mit Normalen.
Die Texturcoordinaten und Normalen sind ebenfalls als NURBS-Oberfläche beschrieben:
gluBeginSurface(nobj); gluNurbsSurface(nobj, . . ., GL_MAP2_TEXTURE_COORD_2); gluNurbsSurface(nobj, . . ., GL_MAP2_NORMAL); gluNurbsSurface(nobj, . . ., GL_MAP2_VERTEX_4); gluEndSurface(nobj);
Siehe auch
gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve, gluNurbsSurface, gluPwlCurve
Hintergrundwissen: NURBS