Content-type: text/html Manpage of GLBEGIN

GLBEGIN

Section: Misc. Reference Manual Pages (3G)
Index Return to Main Contents
 

NOM

glBegin, glEnd - délimite une primitive ou un groupe de primitives similaires de vertex.

 

SPÉCIFICATION C

void glBegin( GLenum mode )


delim $$  

PARAMÈTRES

mode
Spécifie la ou les primitives qui vont être créées à partir des vertex présents entre glBegin et le glEnd correspondant. Dix constantes symboliques sont acceptées : GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, et GL_POLYGON.
 

SPÉCIFICATION C

void glEnd( void )


 

DESCRIPTION

glBegin et glEnd délimite la primitive ou le groupe de primitives similaires. glBegin accepte un unique argument qui spécifie de quelle manière les vertex sont interprétés. En prenant $n$ comme un compteur entier commançant à un, et $N$ comme le nombre total de vertex spécifiés, les interprétations sont comme suit :
GL_POINTS
Traite chaque vertex comme un point unique. Le vertex $n$ définit le point $n$. $N$ points sont affichés.
GL_LINES
Traite chaque paire de vertex comme un segment de ligne independant. Les vertex $2n^-^1$ et $2n$ définissent une ligne $n$. $N/2$ lignes sont affichées.
GL_LINE_STRIP
Affiche un groupe de segments de lignes connectés depuis le premier vertex jusqu'au dernier. Les vertexes $n$ et $n~+~1$ définissent une lignes $n$. $N^-^1$ lignes sont affichées.
GL_LINE_LOOP
Affiche un groupe fermé de segments de lignes connectés depuis le premier vertex jusqu'au dernier, puis jusqu'au premier de nouveau. Les vertexes $n$ et $n~+~1$ définissent une ligne $n$. La dernière ligne, toutefois, est définie par les vertexes $N$ et $1$. $N$ lignes sont affichés.
GL_TRIANGLES
Traite chaque triplet de vertex comme un triangle indépendant. Les vertex $3n^-^2$, $3n^-^1$, et $3n$ définissent un triangle $n$. $N/3$ triangles sont affichés.
GL_TRIANGLE_STRIP
Affiche un groupe de triangles connectés. Un triangle est défini pour chaque vertex présenté après les deux premiers vertex. Si $n$ est impair, les vertex $n$, $n~+~1$, et $n~+~2$ définissent le triangle $n$. Si $n$ est pair, les vertex $n~+~1$, $n$, et $n~+~2$ définissent le triangle $n$. $N^-^2$ triangles sont affichés.
GL_TRIANGLE_FAN
Affiche un groupe de triangles connectés. Un triangle est défini pour chaque vertex présenté après les deux premiers vertex. Les vertex $1$, $n~+~1$, et $n~+~2$ définissent le triangle $n$. $N^-^2$ triangles sont affichés.
GL_QUADS
Traite chaque groupe de quatre vertex comme un quadrilatère independant. Les vertex $4n^-^3$, $4n^-^2$, $4n^-^1$, et $4n$ définissent le quadrilatère $n$. $N/4$ quadrilatères sont affichés.
GL_QUAD_STRIP
Affiche un groupe de quadrilatères connectés. Un quadrilataire est défini pour chaque paire de vertex présentée après la première paire. Les vertexes $2n^-^1$, $2n$, $2n~+~2$, et $2n~+~1$ définissent le quadrilatère $n$. $N/2^-^1$ quadrilataires sont affichés. Notez que l'ordre dans lequel les vertex sont utilisés pour construire un quadrilatère depuis les données stripées est different de celui utilisé avec des données indépendentes.
GL_POLYGON
Affiche un unique polygone convexe. Les vertex $1$ à $N$ définissent ce polygone. Seul un ensemble limité de commandes GL peuvent être utilisées entre glBegin et glEnd. Ces commandes sont glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glArrayElement, glMaterial, et glEdgeFlag. Il est également acceptable d'utiliser glCallList ou glCallLists pour exécuter des display lists qui incluent uniquement les commandes précédentes. Si n'importe quelle autre commande GL est exécutée entre glBegin et glEnd, un flag d'erreur est mis et la commande est ignorée. Si on ne regarde pas la valeur choisie pour mode, il n'y a pas de limite pour le nombre de vertex pouvant être définis entre glBegin et glEnd. Lignes, triangles, quadrilatères, et polygones qui ne sont pas complètement spécifiés ne sont pas affichés. Des spécifications sont incomplètes si trop peu de vertex sont fournis pour spécifier même une seule primitive ou quand un nombre incorrect de vertex est spécifié. Une primitive incomplète est ignorée ; les autres sont affichées. Le nombre minimum de spécification de vertexes pour chaque primitive est comme suit : 1 pour un point, 2 pour une ligne, 3 pour un triangle, 4 pour un quadrilatère, et 3 pour un polygone. Les modes qui demandent un certain nombre multiple (de la forme 2*n, 3*n,...) de vertex sont GL_LINES (2), GL_TRIANGLES (3), GL_QUADS (4), et GL_QUAD_STRIP (2).
 

ERREURS

GL_INVALID_ENUM est générée si mode est mis à une valeur non acceptée. GL_INVALID_OPERATION est générée si glBegin est exécuté entre un glBegin et le glEnd correspondant. GL_INVALID_OPERATION est générée si glEnd est exécuté sans avoir été précédé par un glBegin. GL_INVALID_OPERATION est générée si une commande autre que glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glArrayElement, glMaterial, glEdgeFlag, glCallList, ou glCallLists est exécutée entre l'exécution de glBegin et le glEnd correspondant. L'exécution de glEnableClientState, glDisableClientState, glEdgeFlagPointer, glTexCoordPointer, glColorPointer, glIndexPointer, glNormalPointer, glVertexPointer, glInterleavedArrays, ou glPixelStore n'est pas autorisée entre un appel à glBegin et l'appel
 correspondant à glEnd, mais une erreur peut être ou non générée.  

VOIR AUSSI

glArrayElement(3G), glCallList(3G), glCallLists(3G), glColor(3G), glEdgeFlag(3G), glEvalCoord(3G),
glEvalPoint(3G), glIndex(3G), glMaterial(3G), glNormal(3G), glTexCoord(3G), glVertex(3G)

 

TRADUCTION

Sylvain Vignaud <sylvain@vignaud.org>, 2002


 

Index

NOM
SPÉCIFICATION C
PARAMÈTRES
SPÉCIFICATION C
DESCRIPTION
ERREURS
VOIR AUSSI
TRADUCTION

This document was created by man2html, using the manual pages.
Time: 21:37:51 GMT, July 10, 2005