Synthèse de l'OpenGL
Voici une petite synthèse des principales fonctions OpenGL et de leur utilisation.
Notation
Une fonction OpenGL s'écrira généralement de la sorte :
glNomdelafonctionxy[v](...);
où x peut un chiffre entre 2 et 4 pour préciser le nombre de paramètres (dimensions);
où y peut prendre comme valeur 'i' pour int, 's' pour short, 'f' pour float et 'd' pour double;
où v (optionnel) peut être mis si on passe des pointeurs sur les valeurs plutôt que les valeurs elles-mêmes.
Certaines fonctions ne prennent que y comme paramètre (ex : les transformations).
Les formes
Le dessin se fait comme suit :
glBegin(type_primitive);
...
// glColor4f(0.5f, 0.5f, 0.5f, 1.0f); // La couleur
// glNormal3f(0.0f, 0.0f, 1.0f); // La normale
glVertex3f(1.0f, 1.0f, 1.0f); // Le point
...
glEnd();
où type_primitive peut être :
- GL_POINTS - Dessine un point pour chaque vertex.
- GL_LINES - Dessine une ligne pour chaque couple de vertex.
- GL_LINE_STRIP - Chaque vertex forme une ligne avec le précédent (sauf le 1er).
- GL_LINE_LOOP - Chaque vertex forme une ligne avec le précédent et le dernier est relié au 1er.
- GL_TRIANGLES - Dessine un triange pour chaque trio de vertex.
- GL_TRIANGLE_STRIP - Chaque vertex forme un triangle avec les 2 précédents (sauf les 2 premiers).
- GL_TRIANGLE_FAN - Chaque vertex forme un triangle avec le premier et le précédent (sauf les 2 premiers).
- GL_QUADS - Dessine un quadrilatère pour chaque groupe de 4 vertex.
- GL_QUAD_STRIP - Chaque couple de vertex forme un quadrilatère avec le couple de vertex précédent (sauf les 2 premiers).
- GL_POLYGON - Dessine un polygone convexe.
Les transformations
glTranslatef(x0, y0, z0); // Fait une translation de vecteur (x0, y0, z0)
glRotatef(alpha, x0, y0, z0); // Fait une rotation d'angle alpha autour du vecteur (x0, y0, z0)
glScalef(x0, y0, z0); // Multiplie les dimensions par x0 sur l'axe des X, y0 sur l'axe des Y et z0 sur l'axe des Z
Les couleurs
A suivre...
|