Condividi tramite


funzione glEvalMesh2

Calcola una griglia bidimensionale di punti o linee.

Sintassi

void WINAPI glEvalMesh2(
   GLenum mode,
   GLint  i1,
   GLint  i2,
   GLint  j1,
   GLint  j2
);

Parametri

mode

Valore che specifica se calcolare una mesh bidimensionale di punti, linee o poligoni. Le costanti simboliche seguenti sono accettate: GL_POINT, GL_LINE e GL_FILL.

i1

Primo valore intero per la variabile di dominio griglia i.

i2

Ultimo valore integer per la variabile di dominio griglia i.

j1

Primo valore intero per la variabile di dominio griglia j.

j2

Ultimo valore intero per la variabile di dominio griglia j.

Valore restituito

Questa funzione non restituisce un valore.

Codici di errore

I codici di errore seguenti possono essere recuperati dalla funzione glGetError .

Nome Significato
GL_INVALID_ENUM
Indica che la modalità non è un valore accettato.
GL_INVALID_OPERATION
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd.

Commenti

Usare glMapGrid e glEvalMesh in combinazione per generare e valutare in modo efficiente una serie di valori di dominio mappa con spaziatura uniforme. La funzione glEvalMesh passa attraverso il dominio intero di una griglia uno o bidimensionale, il cui intervallo è il dominio delle mappe di valutazione specificate da glMap1 e glMap2. Il parametro modalità determina se i vertici risultanti sono connessi come punti, linee o poligoni riempiti.

Nel caso bidimensionale , glEvalMesh2, let

? u = (u2 u1)/n

? v = (v2 v1)/m,

dove n, u1, u2, m, v1 e v2 sono gli argomenti alla funzione glMapGrid2 più recente. Quindi, se la modalità è GL_FILL, glEvalMesh2 equivale a:

for (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 la modalità è GL_LINE, una chiamata 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( );

}

Infine, se la modalità è GL_POINT, una chiamata 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( );

In tutti e tre i casi, gli unici requisiti numerici assoluti sono che se i = n, il valore calcolato da i? u + u1 è esattamente u2 e se j = m, il valore calcolato da j? v + v1 è esattamente v2. Le funzioni seguenti recuperano informazioni relative a glEvalMesh:

glGet con argomento GL_MAP1_GRID_DOMAIN

glGet con argomento GL_MAP2_GRID_DOMAIN

glGet con argomento GL_MAP1_GRID_SEGMENTS

glGet con argomento GL_MAP2_GRID_SEGMENTS

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Gl.h
Libreria
Opengl32.lib
DLL
Opengl32.dll