Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Berechnet ein zweidimensionales Raster von Punkten oder Linien.
Syntax
void WINAPI glEvalMesh2(
GLenum mode,
GLint i1,
GLint i2,
GLint j1,
GLint j2
);
Parameter
-
mode
-
Ein -Wert, der angibt, ob ein zweidimensionales Gitter aus Punkten, Linien oder Polygonen berechnet werden soll. Die folgenden symbolischen Konstanten werden akzeptiert: GL_POINT, GL_LINE und GL_FILL.
-
i1
-
Der erste ganzzahlige Wert für die Rasterdomänenvariable i.
-
i2
-
Der letzte ganzzahlige Wert für die Rasterdomänenvariable i.
-
j1
-
Der erste ganzzahlige Wert für die Rasterdomänenvariable j.
-
j2
-
Der letzte ganzzahlige Wert für die Rasterdomänenvariable j.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Fehlercodes
Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.
Name | Bedeutung |
---|---|
|
Gibt an, dass der Modus kein akzeptierter Wert ist. |
|
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen. |
Bemerkungen
Verwenden Sie glMapGrid und glEvalMesh zusammen, um effizient eine Reihe von Kartendomänenwerten mit gleichmäßigem Abstand zu generieren und auszuwerten. Die glEvalMesh-Funktion durchläuft die Ganzzahldomäne eines ein- oder zweidimensionalen Rasters, dessen Bereich die Domäne der von glMap1 und glMap2 angegebenen Auswertungszuordnungen ist. Der mode-Parameter bestimmt, ob die resultierenden Scheitelpunkte als Punkte, Linien oder gefüllte Polygone verbunden sind.
Im zweidimensionalen Fall glEvalMesh2, let
? u = (u2 u1)/n
? v = (v2 v1)/m,
Dabei sind n, u1, u2, m, v1 und v2 die Argumente für die neueste glMapGrid2-Funktion . Wenn der Modus GL_FILL ist, entspricht glEvalMesh2 folgendem:
for (j = j1; j < j2; j += 1)
{
glBegin(GL_QUAD_STRIP);
for (i = i1; i <= i2; i += 1)
{
glEvalCoord2(i? u + u1 ( ) , j ? v + v1);
glEvalCoord2(i? u + u1 ( ) , (j+1) ? v + v1);
}
glEnd( ); }
Wenn der Modus GL_LINE ist, entspricht ein Aufruf von glEvalMesh2 folgendem:
for (j = j1; j <= j2; j += 1)
{
glBegin(GL_LINE_STRIP);
for (i = i1; i <= i2; i += 1)
{
glEvalCoord2(i? u + u1, j? v + v1);
}
glEnd( );
}
for (i = i1; i <= i2; i += 1)
{
glBegin(GL_LINE_STRIP);
for (j = j1; j <= j1; j += 1)
{
glEvalCoord2(i? u + u1, j? v + v1);
}
glEnd( );
}
Wenn der Modus GL_POINT ist, entspricht ein Aufruf von glEvalMesh2 folgendem:
glBegin(GL_POINTS);
for (j = j1; j <= j2; j += 1)
{
for (i = i1; i <= i2; i += 1)
{
glEvalCoord2(i? u + u1, j? v + v1);
}
}
glEnd( );
In allen drei Fällen bestehen die einzigen absoluten numerischen Anforderungen darin, dass, wenn i = n, der aus i berechnete Wert? u + u1 ist genau u2, und wenn j = m, dann der wert berechnet aus j? v + v1 ist genau v2. Die folgenden Funktionen rufen Informationen zu glEvalMesh ab:
glGet mit argument GL_MAP1_GRID_DOMAIN
glGet mit argument GL_MAP2_GRID_DOMAIN
glGet mit argument GL_MAP1_GRID_SEGMENTS
glGet mit argument GL_MAP2_GRID_SEGMENTS
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|