Draw a circle using OpenGL

 #include<stdio.h>

#include<stdlib.h>
#include<GL/glut.h>
#include<math.h>
#define pi 3.142857
int i=0; 
void init(void)
{
    glClearColor(0.0, 0.0, 0.0, 1.0);
    glColor3f(0.0, 1.0, 0.0);
    glPointSize(1.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0,900, 800, 0,1,-1);
}
 
void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
//glRecti(50,150,200,50);
//glColor3ub(255,255,102);
//glLineWidth(5.0);
glBegin(GL_LINES);
glColor3ub(255,0,255);
glVertex2i(350,200);
glVertex2i(750,200);
glVertex2i(800,250);
glVertex2i(750,200);
glVertex2i(800,250);
glVertex2i(800,650);
glVertex2i(800,650);
glVertex2i(750,700);
glVertex2i(350,700);
glVertex2i(750,700);
glVertex2i(350,700);
glVertex2i(300,650);
glVertex2i(300,650);
glVertex2i(700,650);
glVertex2i(750,700);
glVertex2i(750,300);
glVertex2i(750,300);
glVertex2i(400,300);
glVertex2i(800,250);
glVertex2i(400,250);
glVertex2i(400,250);
glVertex2i(400,300);
glVertex2i(400,300);
glVertex2i(750,300);
glVertex2i(700,650);
glVertex2i(700,300);
glVertex2i(300,650);
glVertex2i(300,250);
glVertex2i(300,250);
glVertex2i(350,200);
glVertex2i(350,200);
glVertex2i(350,600);
glVertex2i(400,600);
glVertex2i(400,250);
glVertex2i(350,600);
glVertex2i(700,600);
glColor3ub(230,44,63);
for(i=701;i<=749;i+=2)
{
	glVertex2i(i,300);
	glVertex2i(i,700);
}
glColor3ub(247,218,0);
for(i=300;i<=700;i+=2)
{
	glVertex2i(i,601);
	glVertex2i(i,649);
}
glColor3ub(8,247,0);
for(i=351;i<=399;i+=2)
{
	glVertex2i(i,600);
	glVertex2i(i,200);
}
glColor3ub(0,214,247);
for(i=251;i<=299;i+=2)
{
	glVertex2i(400,i);
	glVertex2i(800,i);	
}
glEnd();
glBegin(GL_TRIANGLES);
glColor3ub(247,28,0);
glVertex2i(700,300);
glVertex2i(700,600);
glVertex2i(550,450);
glColor3ub(20,247,0);
glVertex2i(400,300);
glVertex2i(400,600);
glVertex2i(550,450);
glColor3ub(0,247,238);
glVertex2i(550,450);
glVertex2i(400,300);
glVertex2i(700,300);

glEnd();
    glFlush();
}
 
int main(int argc, char** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
    glutInitWindowSize(900,800);
    glutInitWindowPosition(0,0);
    glutCreateWindow("Circle Drawing");
    init();
    glutDisplayFunc(display);
    glutMainLoop();
}

Post a Comment

Previous Post Next Post