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 34 35
|
// raz de l'écran
glClear(GL_COLOR_BUFFER_BIT OR GL_DEPTH_BUFFER_BIT);
// raz de la matrice
glLoadIdentity();
// mode de polygone
if m_bModePolygoneFilaire then
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE)
else
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
// textures ou non
if m_bTexture then
glEnable(Gl_texture_2d)
else
glDisable(Gl_texture_2d);
// lumiere et matériaux
DefinirLumiere();
// création du quadric
m_oGluQuadric := gluNewQuadric();
// mode de polygone de l'objet GLU_POINT GLU_LINE GLU_FILL
gluQuadricDrawStyle(m_oGluQuadric, GLU_FILL);
// position de la caméra et du regard
gluLookAt(m_oCamera.X, m_oCamera.Y, m_oCamera.Z, m_oVise.X, m_oVise.Y,m_oVise.Z, 0, -1, 0);
// rotation par l'utilisateur
glRotate(m_iRotationX, 1, 0, 0);
glRotate(m_iRotationY, 0, -1, 0);
// dessin des objets
if m_ListObjet <> nil then
for i := 0 to m_ListObjet.Count - 1 do
DessinerObjet(m_ListObjet[i]);
// suppression du quadric
gluDeleteQuadric(m_oGluQuadric);
// envoi à l'affichage
glFlush();
SwapBuffers(m_oForm.Canvas.Handle); |
Partager