GL.glShadeModel (GL.GL_SMOOTH);
GL.glCullFace (GL.GL_FRONT);
GL.glEnable (GL.GL_CULL_FACE);
GL.glClearColor( Back.R /255.0f, Back.G/255.0f, Back.B/255.0f, 1.0f );
GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT );
GL.glMatrixMode (GL.GL_PROJECTION);
GL.glLoadIdentity ();
if ( this.Height == 0 ) this.Height = 1;
GL.gluPerspective(Zoom, (float)(this.Width/(float)this.Height), 1.0, 50.0);
GL.gluLookAt(0.7, 0.0, 4.0, /* oeil */
0.0,0.0,0.0, /* point observé */
0.0,1.0,0.0); /* position du ciel */
GL.glMatrixMode(GL.GL_MODELVIEW);
GL.glLoadIdentity();
GL.glEnable( GL.GL_NORMALIZE );
GL.glEnable( GL.GL_COLOR_MATERIAL);
GL.glBlendFunc(GL.GL_ONE, GL.GL_ONE_MINUS_SRC_ALPHA);
GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST);
// Dessin des lumières
GL.glEnable( GL.GL_LIGHTING );
foreach (GraphLight grlight in this.Lights)
grlight.Paint();
// Dessin des objets
GL.glEnable( GL.GL_DEPTH_TEST );
foreach (GraphObject grobj in this.Objects)
grobj.Paint();
// Rendu
GL.glFlush();
}
Partager