Advertisement
sohag_cse

Lab Final (182-15-2164-PC-A)

Dec 15th, 2021 (edited)
1,554
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <GL/glut.h>
  2. #include <stdio.h>
  3. #include <GL/gl.h>
  4.  
  5. void init(void)
  6. {
  7.     glClearColor(1.0,1.0,1.0,1.0);
  8.     glMatrixMode(GL_PROJECTION);
  9.     glLoadIdentity();
  10.     gluOrtho2D(-500, 500, -500, 700);
  11. }
  12.  
  13. void display()
  14. {
  15.     glClear(GL_COLOR_BUFFER_BIT);
  16.    
  17.     //middle
  18.     glBegin(GL_POLYGON);
  19.     glColor3f(0.2, 0.5, 0.9) ;
  20.     glVertex2d(-3, 350);
  21.     glVertex2d(3, 350);
  22.     glVertex2d(3, -50);
  23.     glVertex2d(-3, -50);
  24.     glEnd();
  25.  
  26.     //middle-top
  27.     glBegin(GL_POLYGON);
  28.     glColor3f(0.3,0.5,0.2);
  29.     glVertex2d(-6, 353);
  30.     glVertex2d(6, 353);
  31.     glVertex2d(6, 350);
  32.     glVertex2d(-6, 350);
  33.     glEnd();
  34.  
  35.      //middle-bottom
  36.     glBegin(GL_POLYGON);
  37.     glColor3f(0.3,0.5,0.2);
  38.     glVertex2d(-7, 10);
  39.     glVertex2d(7, 10);
  40.     glVertex2d(7, -45);
  41.     glVertex2d(-7, -45);
  42.     glEnd();
  43.  
  44.     //Umbrella Top
  45.     int m=0;
  46.     int n=190;
  47.     int r=150;
  48.     float x=m;
  49.     float y=r;
  50.     float p=1-r;
  51.     while(x<=y)
  52.     {
  53.         glColor3f(0.3,0.5,0.2);
  54.         glBegin(GL_POLYGON);
  55.         if(p<0)
  56.         {
  57.             x++;
  58.             p=p+(2*x)+1;
  59.         }
  60.         else if(p>=0)
  61.         {
  62.             x++;
  63.             y--;
  64.             p=p+(2*x)-(2*y)+1;
  65.         }
  66.         glVertex2d(m+x,n+y);
  67.         glVertex2d(m+y,n+x);
  68.         glVertex2d(m-y,n+x);
  69.         glVertex2d(m-x,n+y);
  70.         glEnd();
  71.     }
  72.     glFlush();
  73.     glutSwapBuffers();
  74. }
  75.  
  76. int main(int argc,char **argv)
  77. {
  78.     glutInit(&argc,argv);
  79.     glutInitDisplayMode ( GLUT_RGB | GLUT_DOUBLE );
  80.     glutInitWindowPosition(0,0);
  81.     glutInitWindowSize(600,600);
  82.     glutCreateWindow("Sohag Raha - 182-15-2164");
  83.     init();
  84.     glutDisplayFunc(display);
  85.     glutMainLoop();
  86.     return 0;
  87. }
  88.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement