#include<GL/gl.h>
#include<GL/glut.h>
int flag=0;
void display()
{
glClearColor(0.0,0.0,1.0,0.0);
glClear(GL_COLOR_BUFFER_BIT );
if(flag==0)
{
glBegin(GL_TRIANGLES);
glColor3f(1.0,0.0,0.0);
glVertex2f(0.0,0.4);
glVertex2f(-0.4,-0.4);
glVertex2f(0.4,-0.4);
glEnd();
}
else if(flag==1)
{
glBegin(GL_QUADS);
glColor3f(0.0,1.0,0.0);
glVertex2f(0.2,0.2);
glVertex2f(-0.2,0.2);
glVertex2f(-0.2,-0.2);
glVertex2f(0.2,-0.2);
glEnd();
}
else if(flag==2)
{
glBegin(GL_POLYGON);
glColor3f(1.0,1.0,0.0);
float cx=0.0,cy=0.0,r=0.5,theta;
int num_segments=40,i;
for(i=0;i<num_segments;i++)
{
theta=(2*3.14*i)/num_segments;
float x=r * cosf(theta);
float y=r * sinf(theta);
glVertex2f(cx+x,cy+y);
}
glEnd();
}
glFlush();
}
void processNormalKeys(unsigned char key,int x,int y)
{
if(key=='Q' || key=='q')
{
flag=1;
}
else if(key=='t' || key=='T')
{
flag=0;
}
else
{
flag=2;
}
glutPostRedisplay();
}
void processSpecialKeys(int key, int x, int y)
{
if(key== GLUT_KEY_F1)
{
flag=2;
}
glutPostRedisplay();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize (500, 500);
glutInitWindowPosition (150, 150);
glutCreateWindow ("KeyBoard Events");
glutDisplayFunc(display);
glutKeyboardFunc(processNormalKeys);
glutSpecialFunc(processSpecialKeys);
glutMainLoop();
return 0;
}
OUTPUT

#include<GL/glut.h>
int flag=0;
void display()
{
glClearColor(0.0,0.0,1.0,0.0);
glClear(GL_COLOR_BUFFER_BIT );
if(flag==0)
{
glBegin(GL_TRIANGLES);
glColor3f(1.0,0.0,0.0);
glVertex2f(0.0,0.4);
glVertex2f(-0.4,-0.4);
glVertex2f(0.4,-0.4);
glEnd();
}
else if(flag==1)
{
glBegin(GL_QUADS);
glColor3f(0.0,1.0,0.0);
glVertex2f(0.2,0.2);
glVertex2f(-0.2,0.2);
glVertex2f(-0.2,-0.2);
glVertex2f(0.2,-0.2);
glEnd();
}
else if(flag==2)
{
glBegin(GL_POLYGON);
glColor3f(1.0,1.0,0.0);
float cx=0.0,cy=0.0,r=0.5,theta;
int num_segments=40,i;
for(i=0;i<num_segments;i++)
{
theta=(2*3.14*i)/num_segments;
float x=r * cosf(theta);
float y=r * sinf(theta);
glVertex2f(cx+x,cy+y);
}
glEnd();
}
glFlush();
}
void processNormalKeys(unsigned char key,int x,int y)
{
if(key=='Q' || key=='q')
{
flag=1;
}
else if(key=='t' || key=='T')
{
flag=0;
}
else
{
flag=2;
}
glutPostRedisplay();
}
void processSpecialKeys(int key, int x, int y)
{
if(key== GLUT_KEY_F1)
{
flag=2;
}
glutPostRedisplay();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize (500, 500);
glutInitWindowPosition (150, 150);
glutCreateWindow ("KeyBoard Events");
glutDisplayFunc(display);
glutKeyboardFunc(processNormalKeys);
glutSpecialFunc(processSpecialKeys);
glutMainLoop();
return 0;
}
OUTPUT
No comments:
Post a Comment