devo farecose banali del tipo disegnare un cubo con opengl, ecc.
mi hanno indicato come programmino iniziale quello disponibile su wikipedia (per disegnare un triangolo):
/*************************************************************
- Per compilare con gcc su Linux: *
- gcc file.c -lglut *
- oppure: *
- gcc file.c -L/usr/X11R6/lib -lglut -lXmu -lGL -lGLU -lXi *
*************************************************************/
#include <GL/gl.h> // File header per la libreria OpenGL
#include <GL/glut.h> // File header per la libreria GLUT
#include <stdlib.h> // File header per usare ‘exit()’
/* Funzione invocata quando la finestra viene ridimensionata (anche quando viene creata) */
void
resize (int width, int height)
{
glViewport (0, 0, width, height); // Usiamo tutta finestra
glMatrixMode (GL_PROJECTION); // Seleziona di usare la matrice ‘PROJECTION’
glLoadIdentity (); // Resetta la matrice ‘PROJECTION’
glMatrixMode (GL_MODELVIEW); // Seleziona di usare la matrice ‘MODELVIEW’
glLoadIdentity (); // Resetta la matrice ‘MODELVIEW’
}
/* Funzione di disegno */
void
draw ()
{
glClearColor (0.0f, 0.0f, 0.0f, 0.0f); // Sfondo nero
glClear (GL_COLOR_BUFFER_BIT); // Cancella la scena
glBegin (GL_TRIANGLES); // Disegna un triangolo
glColor3f (1.0f, 0.0f, 0.0f); // Impostiamo il colore rosso
glVertex3f ( 0.0f, 0.5f, 0.0f); // Angolo in alto
glColor3f (0.0f, 1.0f, 0.0f); // Imposta il colore verde
glVertex3f (-0.5f, -0.5f, 0.0f); // Angolo basso sinistro
glColor3f (0.0f, 0.0f, 1.0f); // Imposta il colore blu
glVertex3f (0.5f, -0.5f, 0.0f); // Angolo basso destro
glEnd (); // Fine triangolo
glutSwapBuffers (); // Disegna!
}
/* Funzione invocata ogni volta che viene premuto un tasto */
void
keyPressed (unsigned char key, int x, int y)
{
if (key == ‘q’) // Se il tasto premuto e` q,
exit (0); // esce
}
/* Main */
int
main (int argc, char **argv)
{
glutInit (&argc, argv); // Inizializza la libreria GLUT
glutInitDisplayMode (GLUT_RGB|GLUT_DOUBLE); // Seleziona il modo di visualizzazione: usa RGB e double buffer
glutInitWindowSize (640, 480); // Imposta la dimensione della finestra a 640x480
glutInitWindowPosition (0, 0); // Imposta la posizione dell’angolo alto sinistro della finestra
glutCreateWindow (“Esempio uso OpenGL”); // Crea la finestra
glutDisplayFunc (draw); // Imposta la funzione di disegno
glutReshapeFunc (resize); // Imposta la funzione di ridimensionamento
glutKeyboardFunc (keyPressed); // Imposta la funzione per gli eventi della tastiera
glutMainLoop (); // Inizio
return (1);
}
ma non riesco a compilare neanche questo!