Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. #include <windows.h> // sunt mentionate fisiere (biblioteci) care urmeaza sa fie incluse
  2. #include <gl/freeglut.h> // nu trebuie uitat freeglut.h (sau glut.h sau gl.h & glu.h)
  3.  
  4. void init (void) // initializare fereastra de vizualizare
  5. {
  6. glClearColor (1.0, 1.0, 1.0, 0.0); // precizeaza culoarea de fond a ferestrei de vizualizare
  7.  
  8. glMatrixMode (GL_PROJECTION); // se precizeaza este vorba de o reprezentare 2D, realizata prin proiectie ortogonala
  9. gluOrtho2D (0.0, 800.0, 0.0, 600.0); // sunt indicate coordonatele extreme ale ferestrei de vizualizare
  10. }
  11. void desen (void) // procedura desenare
  12. {
  13.  
  14. // segmentele
  15. glEnable(GL_LINE_STIPPLE);
  16. glLineWidth (2.0);
  17. glBegin (GL_LINES);
  18. glColor3f (1.0, 0.0, 0.0); // culoarea primului segment: rosu
  19.  
  20. glVertex2i (400,400);
  21. glVertex2i (500, 400);
  22.  
  23. glVertex2i (400,400);
  24. glVertex2i (450, 450);
  25.  
  26. glVertex2i (450,450);
  27. glVertex2i (550, 450);
  28.  
  29. glVertex2i (550,450);
  30. glVertex2i (500, 400);
  31.  
  32.  
  33.  
  34.  
  35. glVertex2i (400,500);
  36. glVertex2i (500, 500);
  37.  
  38. glVertex2i (400,500);
  39. glVertex2i (450, 550);
  40.  
  41. glVertex2i (450,550);
  42. glVertex2i (550, 550);
  43.  
  44. glVertex2i (550,550);
  45. glVertex2i (500, 500);
  46.  
  47.  
  48. glVertex2i (400,400);
  49. glVertex2i (400, 500);
  50.  
  51. glVertex2i (450,450);
  52. glVertex2i (450, 550);
  53.  
  54. glVertex2i (550,450);
  55. glVertex2i (550, 550);
  56.  
  57. glVertex2i (500,400);
  58. glVertex2i (500, 500);
  59.  
  60.  
  61.  
  62.  
  63. glEnd ( );
  64.  
  65. // punctul de intersectie
  66.  
  67. glBegin (GL_POINTS);
  68. glColor3f (1.0, 0.0, 0.0);
  69. glVertex2i (400, 400);
  70.  
  71.  
  72. glEnd ( );
  73.  
  74. glFlush ( ); // proceseaza procedurile OpenGL cat mai rapid
  75. }
  76. void main (int argc, char** argv)
  77. {
  78. glutInit (&argc, argv); // initializare GLUT
  79. glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); // se utilizeaza un singur buffer | modul de colorare RedGreenBlue (= default)
  80. glutInitWindowPosition (100, 100); // pozitia initiala a ferestrei de vizualizare (in coordonate ecran)
  81. glutInitWindowSize (800, 600); // dimensiunile ferestrei
  82. glutCreateWindow ("Puncte & Segmente"); // creeaza fereastra, indicand numele ferestrei de vizualizare - apare in partea superioara
  83.  
  84. init (); // executa procedura de initializare
  85. glClear (GL_COLOR_BUFFER_BIT); // reprezentare si colorare fereastra de vizualizare
  86. glutDisplayFunc (desen); // procedura desen este invocata ori de cate ori este nevoie
  87. glutMainLoop ( ); // ultima instructiune a programului, asteapta (eventuale) noi date de intrare
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement