funzione glBegin

Le funzioni glBegin e glend delimitano i vertici di una primitiva o di un gruppo di primitive.

Sintassi

void WINAPI glBegin(
   GLenum mode
);

Parametri

mode

Le primitive o le primitive che verranno create dai vertici presentati tra glBegin e il successivo glend. Di seguito sono accettate costanti simboliche e i relativi significati:

Valore Significato
GL_POINTS
Considera ogni vertice come un singolo punto. Vertex n definisce il punto n. I punti N vengono disegnati.
GL_LINES
Considera ogni coppia di vertici come segmento di linea indipendente. Vertici 2n - 1 e 2n definiscono la riga n. Le linee N/2 vengono disegnate.
GL_LINE_STRIP
Disegna un gruppo connesso di segmenti di linea dal primo vertice all'ultimo. I vertici n e n+1 definiscono la riga n. N - 1 linee vengono disegnate.
GL_LINE_LOOP
Disegna un gruppo connesso di segmenti di linea dal primo vertice all'ultimo, quindi torna al primo. Vertici n e n + 1 definiscono la riga n. L'ultima riga, tuttavia, è definita dai vertici N e 1. Le linee N vengono disegnate.
GL_TRIANGLES
Considera ogni tripletta di vertici come triangolo indipendente. Vertici 3n - 2, 3n - 1 e 3n definiscono triangolo n. I triangoli N/3 vengono disegnati.
GL_TRIANGLE_STRIP
Disegna un gruppo connesso di triangoli. Un triangolo è definito per ogni vertice presentato dopo i primi due vertici. Per n dispari, vertici n, n + 1 e n + 2 definiscono triangolo n. Per anche n, vertici n + 1, n e n + 2 definiscono triangolo n. N - 2 triangoli sono disegnati.
GL_TRIANGLE_FAN
Disegna un gruppo connesso di triangoli. un triangolo è definito per ogni vertice presentato dopo i primi due vertici. Vertici 1, n + 1, n + 2 definiscono triangolo n. N - 2 triangoli sono disegnati.
GL_QUADS
Considera ogni gruppo di quattro vertici come un quadrilatero indipendente. Vertici 4n - 3, 4n - 2, 4n - 1 e 4n definiscono quadrilateri n. I quadrilateri N/4 vengono disegnati.
GL_QUAD_STRIP
Disegna un gruppo connesso di quadrilateri. Un quadrilatero è definito per ogni coppia di vertici presentati dopo la prima coppia. Vertici 2n - 1, 2n, 2n + 2n e 2n + 1 definiscono quadrilatero n. N/2 - 1 quadrilateri vengono disegnati. Si noti che l'ordine in cui i vertici vengono usati per costruire un quadrilatero dai dati di strip è diverso da quello usato con dati indipendenti.
GL_POLYGON
Disegna un poligono convesso singolo. I vertici da 1 a N definiscono questo poligono.

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
la modalità è stata impostata su un valore non rilevato.
GL_INVALID_OPERATION
Una funzione diversa da glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glMaterial, glEdgeFlag, glCallList o glCallLists è stata chiamata tra glBegin e il glend corrispondente. La funzione glend è stata chiamata prima della chiamata glBegin corrispondente o glBegin è stata chiamata all'interno di una sequenza glBeginglend/.

Commenti

Le funzioni glBegin e glend delimitano i vertici che definiscono una primitiva o un gruppo di simili primitive. La funzione glBegin accetta un singolo argomento che specifica quale di dieci primitive compongono i vertici. Prendendo n come numero intero a partire da uno e N come numero totale di vertici specificati, le interpretazioni sono le seguenti:

  • È possibile usare solo un subset di funzioni OpenGL tra glBegin e glend. Le funzioni che è possibile usare sono:

    glVertex

    glColor

    glIndex

    glNormal

    glTexCoord

    glEvalCoord

    glEvalPoint

    glMaterial

    glEdgeFlag

    È anche possibile usare glCallList o glCallLists per eseguire elenchi di visualizzazione che includono solo le funzioni precedenti. Se qualsiasi altra funzione OpenGL viene chiamata tra glBegin e glend, il flag di errore viene impostato e la funzione viene ignorata.

  • Indipendentemente dal valore scelto per la modalità in glBegin, non esiste alcun limite al numero di vertici che è possibile definire tra glBegin e glend. Le linee, i triangoli, i quadrilateri e i poligoni specificati in modo incompleto non vengono disegnati. Risultati di specifica incompleti quando vengono specificati troppo pochi vertici per specificare anche una singola primitiva o quando viene specificato un multiplo errato di vertici. La primitiva incompleta viene ignorata; vengono disegnate le primitive complete.

  • La specifica minima dei vertici per ogni primitiva è:

    Numero minimo di vertici Tipo di primitiva
    1 point
    2 line
    3 triangolo
    4 Quadrilatero
    3 polygon
  • Le modalità che richiedono un determinato multiplo di vertici sono GL_LINES (2), GL_TRIANGLES (3), GL_QUADS (4) e GL_QUAD_STRIP (2).

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

Vedi anche

glCallList

glCallLists

glColor

glEdgeFlag

glEnd

glEvalCoord

glEvalPoint

glIndex

glMaterial

glNormal

glTexCoord

glVertex