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