please j'ai un problème avec glortho [open gl] - Programmation
Marsh Posté le 25-06-2002 à 19:37:04
hmmm ...
http://www.google.com/search?q=glortho
ce qu'il te faut, c'est un tutorial sur les transformations world / view / projection. pour commencer :
http://www.opengl.org/developers/code/s2001/OpenGL.ppt
par ex.
Marsh Posté le 25-06-2002 à 15:58:29
le cube que je veux faire n'a pas la profondeur souhaitée, mais en changeant les valeurs de glortho on l'obtient. Pouvez vous m'expliquer comment trouver les bonnes valeurs ?
voici le programme :
#include <GL/glut.h>
#include <stdlib.h>
void display (void)
{
static GLint vertices [] = {1,1,0, 10,1,0, 10,10,0, 1,10,0, -2,8,10, 7,8,10,
7,17,10, -2,17,10};
static GLfloat colors_RGB [] = {1.0,0.2,0.2, 0.2,0.2,1.0, 0.8,1.0,0.2, 0.75,0.75,0.75,
0.35,0.35,0.35, 0.5,0.5,0.5};
glEnableClientState (GL_COLOR_ARRAY);
glEnableClientState (GL_VERTEX_ARRAY);
glColorPointer (3, GL_FLOAT, 0, colors_RGB);
glVertexPointer (3, GL_INT, 0, vertices);
static GLubyte toutLesSommets [] = { 0,1,2,3, 4,0,3,7, 5,1,2,6, 4,0,1,5, 7,3,2,6, 4,7,6,5};
glPolygonMode (GL_FRONT , GL_FILL) ;
glFrontFace (GL_CCW) ;
glEnable (GL_CULL_FACE) ;
glCullFace (GL_BACK) ;
glDrawElements (GL_QUADS, 24, GL_UNSIGNED_BYTE, toutLesSommets) ;
glutSwapBuffers() ;
glFlush () ;
}
void main (int argc, char** argv)
{
glutInit (&argc, argv) ;
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH) ;
glutInitWindowSize (640, 480) ;
glutInitWindowPosition (250,250) ;
glutCreateWindow (argv [0]) ;
glClearColor (1.0, 1.0, 1.0, 1.0) ;
glClear (GL_COLOR_BUFFER_BIT) ;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho (-5.0, 16.0, -5.0, 16.0, -1.0, 16.0) ;
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glutDisplayFunc (display) ;
glutMainLoop () ;
}
Message édité par airseb le 25-06-2002 à 16:30:16