mhdew

house

Nov 22nd, 2020 (edited)
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.06 KB | None | 0 0
  1. #include<stdio.h>
  2. #include <GL/gl.h>
  3. #include <GL/glut.h>
  4.  
  5. //int rund(double x) { return ((int)(x*10))%10>5?(int)++x:(int)x; }
  6.  
  7. void axes()
  8. {
  9.     glColor3f (1.0, 0.0, 0.0);
  10.    
  11.     glBegin(GL_POINTS);
  12.    
  13.     for(int i=-1000;i<=1000;i++){
  14.         glVertex2d(0,i);
  15.         glVertex2d(i,0);
  16.     }
  17.  
  18.     glEnd();
  19.  
  20.     glFlush();
  21. }
  22.  
  23. void rectangle0(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
  24. {
  25.     glColor3f (0.77,0.88,0.94);
  26.    
  27.     glBegin(GL_POLYGON);
  28.    
  29.     glVertex2d(x1,y1);
  30.     glVertex2d(x2,y2);
  31.     glVertex2d(x3,y3);
  32.     glVertex2d(x4,y4);
  33.    
  34.     glEnd();
  35.  
  36.     glFlush();
  37. }
  38.  
  39. void rectangle1(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
  40. {
  41.     glColor3f (0.91,0.62,0.45);
  42.    
  43.     glBegin(GL_POLYGON);
  44.    
  45.     glVertex2d(x1,y1);
  46.     glVertex2d(x2,y2);
  47.     glVertex2d(x3,y3);
  48.     glVertex2d(x4,y4);
  49.    
  50.     glEnd();
  51.  
  52.     glFlush();
  53. }
  54.  
  55. void rectangle2(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
  56. {
  57.     glColor3f (0.76,0.53,0.59);
  58.    
  59.     glBegin(GL_POLYGON);
  60.    
  61.     glVertex2d(x1,y1);
  62.     glVertex2d(x2,y2);
  63.     glVertex2d(x3,y3);
  64.     glVertex2d(x4,y4);
  65.    
  66.     glEnd();
  67.  
  68.     glFlush();
  69. }
  70.  
  71. void triangle(int x1, int y1, int x2, int y2, int x3, int y3)
  72. {
  73.     glColor3f (0.63, 0.65, 0.69);
  74.    
  75.     glBegin(GL_TRIANGLES);
  76.    
  77.     glVertex2d(x1,y1);
  78.     glVertex2d(x2,y2);
  79.     glVertex2d(x3,y3);
  80.    
  81.     glEnd();
  82.    
  83.     glFlush();
  84. }
  85.  
  86.  
  87. void display(void)
  88. {
  89.     glClear (GL_COLOR_BUFFER_BIT);
  90.    
  91.     // axes();
  92.     rectangle0(-500,-300,500,-300,500,300,-500,300);
  93.     rectangle1(-125,-300,125,-300,125,150,-125,150);
  94.     rectangle2(-400,-100,-225,-100,-225,100,-400,100);
  95.     rectangle2(225,-100,400,-100,400,100,225,100);
  96.     triangle(-500,300,500,300,0,600);
  97. }
  98.  
  99. void init (void){
  100.    
  101.     glClearColor (0.0, 0.0, 0.0, 0.0);
  102.    
  103.     glMatrixMode(GL_PROJECTION);
  104.     glLoadIdentity();
  105.     gluOrtho2D(-1000,1000,-1000,1000);      //fix the windows size
  106. }
  107.  
  108. int main(int argc, char** argv)
  109. {
  110.     glutInit(&argc, argv);
  111.     glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
  112.     glutInitWindowSize (1000, 1000);
  113.     glutInitWindowPosition (50, 50);
  114.     glutCreateWindow ("172-15-9804");
  115.     init ();
  116.     glutDisplayFunc(display);
  117.     glutMainLoop();
  118.    
  119.     return 0;
  120. }
Add Comment
Please, Sign In to add comment