1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,10,4,0,0,0,0,0,1);
glRotated(Camera::angle_cam(),0,0,1);
glEnableClientState(GL_VERTEX_ARRAY);
map.dessiner_modeles_3D(); // affichage des objet 3D texturer
// Récupérer la matrice modelview.
GLfloat modelview[16];
glGetFloatv(GL_MODELVIEW_MATRIX, modelview);
// Sauvegarder la matrice actuelle.
glPushMatrix();
// Modification de la matrice pour le billboarding.
for (unsigned int i = 0; i < 3; i++)
for (unsigned int j = 0; j < 3; j++)
modelview[i+4*j] = (i==j) ? 1.f : 0.f;
// Définir la matrice.
glLoadMatrixf(modelview);
map.dessiner_modeles_2D(); // affichage de des objet 2D de la map
glPopMatrix(); // chargement de l'ancienne matrice
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY); |
Partager