funzione glBegin

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

Sintassi

void WINAPI glBegin(
   GLenum mode
);

Parametri

mode

Primitiva o primitiva che verrà creata dai vertici presentati tra glBegin e la successiva 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. Vengono tracciati N punti.
GL_LINES
Considera ogni coppia di vertici come un segmento di linea indipendente. I vertici 2n - 1 e 2n definiscono la riga n. Vengono disegnate n/2 linee.
GL_LINE_STRIP
Disegna un gruppo collegato di segmenti di linea dal primo vertice all'ultimo. I vertici n e n+1 definiscono la riga n. N - 1 linee sono disegnate.
GL_LINE_LOOP
Disegna un gruppo collegato di segmenti di linea dal primo vertice all'ultimo, quindi torna al primo. I vertici n e n + 1 definiscono la riga n. L'ultima riga, tuttavia, è definita dai vertici N e 1. Vengono disegnate n linee.
GL_TRIANGLES
Considera ogni tripletta di vertici come un triangolo indipendente. I vertici 3n - 2, 3n - 1 e 3n definiscono triangolo n. I triangoli N/3 vengono disegnati.
GL_TRIANGLE_STRIP
Disegna un gruppo collegato di triangoli. Un triangolo viene 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, i vertici n + 1, n e n + 2 definiscono triangolo n. N - 2 triangoli vengono disegnati.
GL_TRIANGLE_FAN
Disegna un gruppo collegato di triangoli. viene definito un triangolo per ogni vertice presentato dopo i primi due vertici. Vertici 1, n + 1, n + 2 definiscono triangolo n. N - 2 triangoli vengono disegnati.
GL_QUADS
Considera ogni gruppo di quattro vertici come un quadrilatero indipendente. Vertici 4n - 3, 4n - 2, 4n - 1 e 4n definiscono quadrilatero n. Vengono disegnati N/4 quadrilateri.
GL_QUAD_STRIP
Disegna un gruppo collegato di quadrilateri. Viene definito un quadrilatero per ogni coppia di vertici presentati dopo la prima coppia. Vertici 2n - 1, 2n, 2n + 2n e 2n + 1 definiscono il 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 strip è diverso da quello usato con dati indipendenti.
GL_POLYGON
Disegna un singolo poligono convesso. 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 al glBegin corrispondente oppure glBegin è stata chiamata all'interno di una sequenza glBegin/glend .

Commenti

Le funzioni glBegin e glend delimitano i vertici che definiscono una primitiva o un gruppo di primitive simili. La funzione glBegin accetta un singolo argomento che specifica quali 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 viene chiamata qualsiasi altra funzione OpenGL 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 delle specifiche incomplete quando vengono forniti troppi 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