glMapGrid
Inhaltsverzeichnis
glMapGrid
Name
glMapGrid - Erzeugt aus einer Funktion ein ein- oder zweidimensionales Punkte-Gitter.
Delphi-Spezifikation
procedure glMapGrid1d(un: TGLint; u1: TGLdouble; u2: TGLdouble); procedure glMapGrid1f(un: TGLint; u1: TGLfloat; u2: TGLfloat); procedure glMapGrid2d(un: TGLint; u1: TGLdouble; u2: TGLdouble; vn: TGLint; v1: TGLdouble; v2: TGLdouble); procedure glMapGrid2f(un: TGLint; u1: TGLfloat; u2: TGLfloat; vn: TGLint; v1: TGLfloat; v2: TGLfloat);
Parameter
un | Gibt an, in wie viele Abschnitte die Kurve unterteilt werden soll |
---|---|
u1, u2 | Legt die Werte für i=0 und i=un fest.(siehe glEvalMesh) |
vn | Gibt die Anzahl an Kurven an, aus denen sich die Fläche zusammensetzt (nur glMapGrid2) |
v1, v2 | Legt die Werte für j=0 und j=un fest. (nur glMapGrid2) |
Beschreibung
glMapGrid und glEvalMesh werden gemeinsam genutzt, um auf effiziente Art und Weise Bézierkurven oder -flächen zu berechnen und zu rendern.
Nachdem mit glMap1 oder glMap2 die Kontrollpunkte einer Bézierkurve oder -fläche festgelegt wurden, errechnet glMapGrid daraus ein ein- oder zweidimensionales Punktegitter mit gleichmäßig verteilten Punkten, welches danach mit glEvalMesh gezeichnet werden kann.
glMapGrid1 und glMapGrid2 legen fest, wie viele (u bzw. bei 2D auch v) Punkte zwischen welchen Werten (u1 und u2 bzw. auch zwischen v1 und v2) linear verteilt werden sollen. Die letzten fehlenden Werte für die Position der einzelnen Werte liefert die mit glMap1 oder glMap2 festgelegte Funktion.
In Formeln ausgedrückt sieht das dann so aus:
u = i(u2 - u1) / un + u1 v = j(v2 - v1) / vn + v1
Fehlermeldungen
GL_INVALID_VALUE wird generiert, wenn weder un noch vn postiv sind.
GL_INVALID_OPERATION wird generiert, wenn glMapGrid innerhalb eines glBegin-glEnd-Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glGet mit Token GL_MAP1_GRID_DOMAIN
glGet mit Token GL_MAP2_GRID_DOMAIN
glGet mit Token GL_MAP1_GRID_SEGMENTS
glGet mit Token GL_MAP2_GRID_SEGMENTS
Siehe auch
glEvalCoord, glEvalMesh, glEvalPoint, glMap1, glMap2