Função glEvalMesh2
Calcula uma grade bidimensional de pontos ou linhas.
Sintaxe
void WINAPI glEvalMesh2(
GLenum mode,
GLint i1,
GLint i2,
GLint j1,
GLint j2
);
Parâmetros
-
mode
-
Um valor que especifica se é necessário calcular uma malha bidimensional de pontos, linhas ou polígonos. As seguintes constantes simbólicas são aceitas: GL_POINT, GL_LINE e GL_FILL.
-
i1
-
O primeiro valor inteiro para a variável de domínio de grade i.
-
i2
-
O último valor inteiro para a variável de domínio de grade i.
-
j1
-
O primeiro valor inteiro para a variável de domínio de grade j.
-
j2
-
O último valor inteiro para a variável de domínio de grade j.
Retornar valor
Essa função não retorna um valor.
Códigos de erro
Os códigos de erro a seguir podem ser recuperados pela função glGetError .
Nome | Significado |
---|---|
|
Indica que o modo não é um valor aceito. |
|
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd. |
Comentários
Use glMapGrid e glEvalMesh em conjunto para gerar e avaliar com eficiência uma série de valores de domínio de mapa uniformemente espaçados. A função glEvalMesh percorre o domínio inteiro de uma grade unidimensional ou unidimensional, cujo intervalo é o domínio dos mapas de avaliação especificados por glMap1 e glMap2. O parâmetro mode determina se os vértices resultantes estão conectados como pontos, linhas ou polígonos preenchidos.
No caso bidimensional, glEvalMesh2, let
? u = (u2 u1)/n
? v = (v2 v1)/m,
em que n, u1, u2, m, v1 e v2 são os argumentos para a função glMapGrid2 mais recente. Em seguida, se o modo for GL_FILL, glEvalMesh2 será equivalente a:
para (j = j1; 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( ); }
Se o modo for GL_LINE, uma chamada para glEvalMesh2 será equivalente 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( );
}
Por fim, se o modo for GL_POINT, uma chamada para glEvalMesh2 será equivalente 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( );
Em todos os três casos, os únicos requisitos numéricos absolutos são que, se i = n, o valor calculado de i? u + u1 é exatamente u2 e, se j = m, o valor calculado de j? v + v1 é exatamente v2. As seguintes funções recuperam informações relacionadas a glEvalMesh:
glGet com GL_MAP1_GRID_DOMAIN de argumento
glGet com GL_MAP2_GRID_DOMAIN de argumento
glGet com GL_MAP1_GRID_SEGMENTS de argumento
glGet com GL_MAP2_GRID_SEGMENTS de argumento
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Biblioteca |
|
DLL |
|