Compartilhar via


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
GL_INVALID_ENUM
Indica que o modo não é um valor aceito.
GL_INVALID_OPERATION
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
Gl.h
Biblioteca
Opengl32.lib
DLL
Opengl32.dll