Visualizzazione post con etichetta rettangolo. Mostra tutti i post
Visualizzazione post con etichetta rettangolo. Mostra tutti i post

lunedì 10 dicembre 2012

Semplice programma OpenGL

Un semplice programma OpenGL che visualizza un rettangolo colorato in una finestra, mediante la libreria glut, necessaria per utilizzare le funzioni grafiche poligonali.

#include <GL/glut.h>

const int   A = 500;  /* lunghezza della finestra */
const float B = 500;  /* lunghezza dello spostamento del rettangolo */
const float C = 200;  /* lunghezza del quadrato */

void miainiz(void)
{
  glClearColor(0.3, 0.7, 0.7, 0.0); /* sfondo grigio */

  glMatrixMode(GL_PROJECTION);     
  glLoadIdentity();                
  gluOrtho2D( -B/2, B/2, -B/2, B/2);
  glMatrixMode(GL_MODELVIEW);     
}

void mostra( void )
{
                                   
  glClear(GL_COLOR_BUFFER_BIT);    

  glMatrixMode(GL_MODELVIEW);      
  glLoadIdentity();                

  glBegin(GL_POLYGON) ;            
      glColor3f ( 1.0, 0.1, 0.1);      
      glVertex2f( -C/2, -C/2 );      
      glVertex2f(  C/2, -C/2 );       
      glVertex2f(  C/2,  C/2 );        
      glVertex2f( -C/2,  C/2 );       
  glEnd();

  glFlush();                        /* invia tutti i comandi */
}

int main(int argc, char** argv)
{
  glutInit(&argc,argv);
  glutInitWindowSize( A, A );       /* A x A pixel finestra a schermi  */

  glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE);
  glutCreateWindow("Mio rettangolo"); /* titolo finestra                   */
  glutDisplayFunc(mostra);         /* di a OpenGL cosa fare     */
  miainiz();                         /* imposta attributi                 */

  glutMainLoop();                   /* passa controllo a main loop  */
  return 0;
}