función glEvalMesh2
Calcula una cuadrícula bidimensional de puntos o líneas.
Sintaxis
void WINAPI glEvalMesh2(
GLenum mode,
GLint i1,
GLint i2,
GLint j1,
GLint j2
);
Parámetros
-
mode
-
Valor que especifica si se va a calcular una malla bidimensional de puntos, líneas o polígonos. Se aceptan las siguientes constantes simbólicas: GL_POINT, GL_LINE y GL_FILL.
-
i1
-
Primer valor entero de la variable de dominio de cuadrícula i.
-
i2
-
Último valor entero de la variable de dominio de cuadrícula i.
-
j1
-
Primer valor entero de la variable de dominio de cuadrícula j.
-
j2
-
Último valor entero de la variable de dominio de cuadrícula j.
Valor devuelto
Esta función no devuelve ningún valor.
Códigos de error
La función glGetError puede recuperar los siguientes códigos de error.
Nombre | Significado |
---|---|
|
Indica que el modo no es un valor aceptado. |
|
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd. |
Comentarios
Use glMapGrid y glEvalMesh en conjunto para generar y evaluar de forma eficaz una serie de valores de dominio de mapa espaciado uniformemente. La función glEvalMesh recorre el dominio entero de una cuadrícula unidimensional, cuyo intervalo es el dominio de los mapas de evaluación especificados por glMap1 y glMap2. El parámetro mode determina si los vértices resultantes están conectados como puntos, líneas o polígonos rellenos.
En el caso bidimensional, glEvalMesh2, let
? u = (u2 u1)/n
? v = (v2 v1)/m,
donde n, u1, u2, m, v1 y v2 son los argumentos de la función glMapGrid2 más reciente. A continuación, si el modo es GL_FILL, glEvalMesh2 equivale a:
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( ); }
Si el modo es GL_LINE, una llamada a glEvalMesh2 equivale a:
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( );
}
Y, por último, si el modo es GL_POINT, una llamada a glEvalMesh2 equivale a:
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( );
En los tres casos, los únicos requisitos numéricos absolutos son que si i = n, entonces el valor calculado desde i? u + u1 es exactamente u2, y si j = m, entonces el valor calculado desde j? v + v1 es exactamente v2. Las siguientes funciones recuperan información relacionada con glEvalMesh:
glGet con GL_MAP1_GRID_DOMAIN de argumentos
glGet con GL_MAP2_GRID_DOMAIN de argumentos
glGet con GL_MAP1_GRID_SEGMENTS de argumentos
glGet con GL_MAP2_GRID_SEGMENTS de argumentos
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado |
|
Biblioteca |
|
Archivo DLL |
|