glMapGrid

Aus DGL Wiki
Wechseln zu: Navigation, Suche

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

Links