Don't like ads? PRO users don't see any ads ;-)
Guest

FUNKCJA

By: a guest on Aug 19th, 2012  |  syntax: None  |  size: 2.06 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include <GL/glut.h>
  2. #include <windows.h>
  3.  
  4. // funkcja generująca scenę 3D
  5.  
  6. void Display()
  7. {
  8.     // kolor tła - zawartość bufora koloru
  9.     glClearColor( 1.0, 1.0, 1.0, 1.0 );
  10.  
  11.     // czyszczenie bufora koloru
  12.     glClear( GL_COLOR_BUFFER_BIT );
  13.  
  14.     // kolor kwadratu
  15.     glColor3f( 1.0, 0.0, 0.0 );
  16.  
  17.     // początek definicji wielokąta
  18.     glBegin( GL_POLYGON );
  19.  
  20.     // kolejne wierzchołki wielokąta
  21.     glVertex3f( 0.0, 0.0, 0.0 );
  22.     glVertex3f( 0.0, 1.0, 0.0 );
  23.     glVertex3f( 1.0, 1.0, 0.0 );
  24.     glVertex3f( 1.0, 0.0, 0.0 );
  25.  
  26.     // koniec definicji prymitywu
  27.     glEnd();
  28.  
  29.     // skierowanie poleceń do wykonania
  30.     glFlush();
  31.  
  32.     // zamiana buforów koloru
  33.     glutSwapBuffers();
  34. }
  35.  
  36. // zmiana wielkości okna
  37.  
  38. void Reshape( int width, int height )
  39. {
  40.     // generowanie sceny 3D
  41.     Display();
  42. }
  43.  
  44. // stałe do obsługi menu podręcznego
  45.  
  46. enum
  47. {
  48.     EXIT // wyjście
  49. };
  50.  
  51. // obsługa menu podręcznego
  52.  
  53. void Menu( int value )
  54. {
  55.     switch( value )
  56.     {
  57.         // wyjście
  58.     case EXIT:
  59.         exit( 0 );
  60.     }
  61. }
  62.  
  63. int main( int argc, char * argv[] )
  64. {
  65.     // inicjalizacja biblioteki GLUT
  66.     glutInit( & argc, argv );
  67.  
  68.     // inicjalizacja bufora ramki
  69.     glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB );
  70.  
  71.     // rozmiary głównego okna programu
  72.     glutInitWindowSize( 400, 400 );
  73.  
  74.     // utworzenie głównego okna programu
  75.     glutCreateWindow( "Kwadrat 1" );
  76.  
  77.     // dołączenie funkcji generującej scenę 3D
  78.     glutDisplayFunc( Display );
  79.  
  80.     // dołączenie funkcji wywoływanej przy zmianie rozmiaru okna
  81.     glutReshapeFunc( Reshape );
  82.  
  83.     // utworzenie menu podręcznego
  84.     glutCreateMenu( Menu );
  85.  
  86.     // dodatnie pozycji do menu podręcznego
  87.     #ifdef WIN32
  88.  
  89.     glutAddMenuEntry( "Wyjście", EXIT );
  90.     #else
  91.  
  92.     glutAddMenuEntry( "Wyjscie", EXIT );
  93.     #endif
  94.  
  95.     // określenie przycisku myszki obsługującej menu podręczne
  96.     glutAttachMenu( GLUT_RIGHT_BUTTON );
  97.  
  98.     // wprowadzenie programu do obsługi pętli komunikatów
  99.     glutMainLoop();
  100.     return 0;
  101. }