Du code portable Win32-Linux
Pour obtenir très rapidement du code utilisant du graphisme et fonctionnant aussi bien sous Linux que sous Microsoft, je dois dire que le couple OpenGL/GLUT reste des valeurs sures à mes yeux.
Ainsi le code ci-après fonctionne et se compile pil-poil sous win32 et sous Linux:
/* My First GLUT chtit bout de code
pour compiler sous linux : gcc -o cgglut01 cgglut01.cpp -lglut -lX11 -lGL -lGLU
*/
#include
void display(void)
{
glClear (GL_COLOR_BUFFER_BIT);
// draw blue rectangle with corners at
// (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
glColor3f (0.0, 0.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
glEnd();
// start processing buffered OpenGL routines
glFlush ();
}
void init (void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);// select clearing color background
/* initialize viewing values */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
//Declare initial window display mode (single buffer and RGBA)
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGBA);
glutInitWindowSize (500 , 500);
glutInitWindowPosition (100, 100);
glutCreateWindow ("My First GLUT Window");
init ();
glutDisplayFunc(display); //Register callback function to display graphics.
glutMainLoop(); //Enter main loop and process events.
return 0; /* ANSI C requires main to return int. */
}
Et sous Mikro$oft le mieux c'est d'utiliser l'excellent dev-cpp
et d'utiliser le package glut disponible sur http://devpaks.org/
ou directement ici
Ainsi le code ci-après fonctionne et se compile pil-poil sous win32 et sous Linux:
/* My First GLUT chtit bout de code
pour compiler sous linux : gcc -o cgglut01 cgglut01.cpp -lglut -lX11 -lGL -lGLU
*/
#include
void display(void)
{
glClear (GL_COLOR_BUFFER_BIT);
// draw blue rectangle with corners at
// (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
glColor3f (0.0, 0.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
glEnd();
// start processing buffered OpenGL routines
glFlush ();
}
void init (void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);// select clearing color background
/* initialize viewing values */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
//Declare initial window display mode (single buffer and RGBA)
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGBA);
glutInitWindowSize (500 , 500);
glutInitWindowPosition (100, 100);
glutCreateWindow ("My First GLUT Window");
init ();
glutDisplayFunc(display); //Register callback function to display graphics.
glutMainLoop(); //Enter main loop and process events.
return 0; /* ANSI C requires main to return int. */
}
Et sous Mikro$oft le mieux c'est d'utiliser l'excellent dev-cpp
et d'utiliser le package glut disponible sur http://devpaks.org/
ou directement ici
Commentaires