Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <GL/gl.h>
- #include <glut.h>
- #include <Math.h>
- #include <stdio.h>
- const float DEG2RAD = 3.14159/180;
- const float PI = 3.1415;
- double angle,x,y;
- void drawCircle(GLfloat x, GLfloat y, GLfloat radius){
- int i;
- int triangleAmount = 1000;
- float twicePi = 2.0f * PI;
- glEnable(GL_LINE_SMOOTH);
- glLineWidth(5.0);
- glBegin(GL_LINES);
- for(i = 0; i <= triangleAmount; i++){
- glVertex2f( x, y);
- glVertex2f(x + (radius * cos(i * twicePi / triangleAmount)),
- y + (radius * sin(i * twicePi / triangleAmount)));
- }
- glEnd();
- }
- void display(void){
- /* clear all pixels */
- glClear (GL_COLOR_BUFFER_BIT);
- glColor3ub (102,178,255);
- glBegin(GL_POLYGON);
- glVertex2d (-600,-100);
- glVertex2d (600,-100);
- glVertex2d (600,500);
- glVertex2d (-600, 500);
- glEnd();
- //sun
- glColor3ub(255, 0, 0);
- drawCircle(0,200,110);
- //Square 1st one
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (70,0);
- glVertex2d (70,400);
- glVertex2d (90,400);
- glVertex2d (90, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (10,0);
- glVertex2d (10,400);
- glVertex2d (-10,400);
- glVertex2d (-10, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (-70,0);
- glVertex2d (-70,400);
- glVertex2d (-90,400);
- glVertex2d (-90, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (90,0);
- glVertex2d (90,20);
- glVertex2d (-90,20);
- glVertex2d (-90, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (90,400);
- glVertex2d (90,420);
- glVertex2d (-90,420);
- glVertex2d (-90, 400);
- glEnd();
- //right 1st
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (200,0);
- glVertex2d (200,360);
- glVertex2d (220,360);
- glVertex2d (220, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (280,0);
- glVertex2d (280,360);
- glVertex2d (300,360);
- glVertex2d (300, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (200,0);
- glVertex2d (300,0);
- glVertex2d (300,20);
- glVertex2d (200, 20);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (200,380);
- glVertex2d (200,360);
- glVertex2d (300,360);
- glVertex2d (300, 380);
- glEnd();
- //left 1st
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (-200,0);
- glVertex2d (-200,360);
- glVertex2d (-220,360);
- glVertex2d (-220, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (-280,0);
- glVertex2d (-280,360);
- glVertex2d (-300,360);
- glVertex2d (-300, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (-200,0);
- glVertex2d (-300,0);
- glVertex2d (-300,20);
- glVertex2d (-200, 20);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (-200,380);
- glVertex2d (-200,360);
- glVertex2d (-300,360);
- glVertex2d (-300, 380);
- glEnd();
- //right 2nd
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (410,0);
- glVertex2d (410,330);
- glVertex2d (430,330);
- glVertex2d (430, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (490,0);
- glVertex2d (490,330);
- glVertex2d (510,330);
- glVertex2d (510, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (410,0);
- glVertex2d (510,0);
- glVertex2d (510,20);
- glVertex2d (410, 20);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (410,310);
- glVertex2d (510,310);
- glVertex2d (510,330);
- glVertex2d (410, 330);
- glEnd();
- //left 2nd
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (-410,0);
- glVertex2d (-410,330);
- glVertex2d (-430,330);
- glVertex2d (-430, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (-490,0);
- glVertex2d (-490,330);
- glVertex2d (-510,330);
- glVertex2d (-510, 0);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (-410,0);
- glVertex2d (-510,0);
- glVertex2d (-510,20);
- glVertex2d (-410, 20);
- glEnd();
- glColor3ub (255,255,255);
- glBegin(GL_POLYGON);
- glVertex2d (-410,310);
- glVertex2d (-510,310);
- glVertex2d (-510,330);
- glVertex2d (-410, 330);
- glEnd();
- glFlush ();
- }
- void init (void)
- {
- /* select clearing (background) color */
- glColor3f(0.68, 0.85, 0.9);
- /* initialize viewing values */
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluOrtho2D(-600, 600, -100, 500);
- }
- /*
- * Declare initial window size, position, and display mode
- * (single buffer and RGBA). Open window with "hello"
- * in its title bar. Call initialization routines.
- * Register callback function to display graphics.
- * Enter main loop and process events.
- */
- int main(int argc, char** argv){
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize (1200, 700);
- glutInitWindowPosition (0, 0);
- glutCreateWindow ("M. Onirban 143-15-4385 Shahid Minar");
- init ();
- glutDisplayFunc(display);
- glutMainLoop();
- return 0; /* ISO C requires main to return int. */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement