glMap1
Inhaltsverzeichnis
glMap1
Name
glMap1 definiert einen eindimensionalen Evaluator.
Delphi-Spezifikation
procedure glMap1d(target: TGLenum; u1: TGLdouble; u2: TGLdouble; stride: TGLint; order: TGLint; const points: PGLdouble); procedure glMap1f(target: TGLenum; u1: TGLfloat; u2: TGLfloat; stride: TGLint; order: TGLint; const points: PGLfloat);
Parameter
target | Legt fest, was die in points übergebenen Kontrollpunkte repräsentieren (Vertices, Farbwerte, usw. => siehe Beschreibung) |
---|---|
u1, u2 | u1 und u2 legen den Bereich fest, für den die Kontrollpunkte definiert werden und den beim Auswerten die Variable u durchlaufen wird. |
stride | Gibt an, wie viele single- oder double-Werte zwischen zwei Kontrollpunkten liegen (z.B. 3, wenn in points dreidimensionale Koordinaten gespeichert sind) |
order | Gibt die Anzahl der in points übergebenen Kontrollpunkte an |
points | Pointer auf die erste Koordinate des ersten Kontrollpunkts. |
Beschreibung
glMap1 definiert aufgrund von übergebenen Kontrollpunkten einen sogenannten eindimensionalen Evaluator, mit dem Bézierkurven samt Texturkoordinaten, Farbwerten oder Normalen erstellt und gerendert werden können. Um einen Evaluator nach der Definition mit glMap1 verwenden zu können, muss er zunächst mit glEnable und dem passenden target aktiviert werden.
Es gibt 9 verschiedene Evaluatoren, die mit target spezifiziert werden:
GL_MAP1_VERTEX_3
- x, y, und z - Vertexkoordinaten
GL_MAP1_VERTEX_4
- x, y, z und w - Vertexkoordinaten
GL_MAP1_INDEX
- Farbindex
GL_MAP1_COLOR_4
- RGBA-Werte
GL_MAP1_NORMAL
- Normalen-Koordinaten
GL_MAP1_TEXTURE_COORD_1
- s - Texturkoordinaten
GL_MAP1_TEXTURE_COORD_2
- s- und t - Texturkoordinaten
GL_MAP1_TEXTURE_COORD_3
- s-, t- und r - Texturkoordinaten
GL_MAP1_TEXTURE_COORD_4
- s-, t-, r- und q - Texturkoordinaten
Für die Auswertung können mehrere Evaluatoren gleichzeitig verwendet werden. Sind zum Beispiel sowohl ein GL_MAP1_VERTEX_3 und ein GL_MAP1_COLOR_4 Evaluator definiert und aktiviert, werden bei der Auswertung Vertexdaten mit entsprechenden Farbwerten erzeugt. Während nur jeweils ein Vertex-Evaluator und nur ein Textur-Evaluator aktiv sein können, ist ansonsten jede beliebige Kombination von Vertex-, Normalen-, Farb- und Texturwerten möglich. Wenn mehr als ein Evaluator desselben Typs definiert und aktiviert ist, wird jeweils der mit der höchsten Dimension genutzt (z.B. GL_MAP1_VERTEX_4 statt GL_MAP1_VERTEX_3).
Evaluatoren können entweder punktweise mit glEvalCoord1 ausgewertet werden, oder mit glMap zur Erstellung eines gleichmäßigen Gitters verwendet werden, welches schließlich mit glEvalMesh gerendert werden kann.
Zugehörige Wertrückgaben
glGetMap mit Token GL_ORDER
glGetMap mit Token GL_COEFF
glGetMap mit Token GL_DOMAIN
glIsEnabled mit Token GL_MAP1_VERTEX_3
glIsEnabled mit Token GL_MAP1_VERTEX_4
glIsEnabled mit Token GL_MAP1_INDEX
glIsEnabled mit Token GL_MAP1_COLOR_4
glIsEnabled mit Token GL_MAP1_NORMAL
glIsEnabled mit Token GL_MAP1_TEXTURE_COORD_1
glIsEnabled mit Token GL_MAP1_TEXTURE_COORD_2
glIsEnabled mit Token GL_MAP1_TEXTURE_COORD_3
glIsEnabled mit Token GL_MAP1_TEXTURE_COORD_4
glGetFloat mit Token GL_MAP1_GRID_DOMAIN
glGetFloat mit Token GL_MAP1_GRID_SEGMENTS
glIsEnabled mit Token GL_AUTO_NORMAL