|
|
#include <windows.h> // Standard windows include
#include <gl\gl.h> // OpenGL library
#include <gl\glut.h> // glut library
#include <math.h>
#define GL_PI 3.1415f
void SetupRC( void )
{
// paint black
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glColor3f( 1.0f, 1.0f, 1.0f );
}
void RenderScene(void)
{
// Set background clearing color to blue
glClear(GL_COLOR_BUFFER_BIT );
GLboolean bEdgeFlag = TRUE;
// Begin the stop sign shape,
glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);
// use a standard polygon for simplicity
// Begin the triangles
glBegin(GL_TRIANGLES);
glEdgeFlag(bEdgeFlag);
glVertex2f(-20.0f, 0.0f);
glEdgeFlag(TRUE);
glVertex2f(20.0f, 0.0f);
glVertex2f(0.0f, 40.0f);
glVertex2f(-20.0f,0.0f);
glVertex2f(-60.0f,-20.0f);
glEdgeFlag(bEdgeFlag);
glVertex2f(-20.0f,-40.0f);
glEdgeFlag(TRUE);
glVertex2f(-20.0f,-40.0f);
glVertex2f(0.0f, -80.0f);
glEdgeFlag(bEdgeFlag);
glVertex2f(20.0f, -40.0f);
glEdgeFlag(TRUE);
glVertex2f(20.0f, -40.0f);
glVertex2f(60.0f, -20.0f);
glEdgeFlag(bEdgeFlag);
glVertex2f(20.0f, 0.0f);
glEdgeFlag(TRUE);
// Center square as two triangles
glEdgeFlag(bEdgeFlag);
glVertex2f(-20.0f, 0.0f);
glVertex2f(-20.0f,-40.0f);
glVertex2f(20.0f, 0.0f);
glVertex2f(-20.0f,-40.0f);
glVertex2f(20.0f, -40.0f);
glVertex2f(20.0f, 0.0f);
glEdgeFlag(TRUE);
// Done drawing Triangles
glEnd();
// Flush drawing commands
glFlush();
}
// Main body of program
void main(void)
{
// window setup and initialization
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutCreateWindow("points example ");
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(40,1,1,1000);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,100,100, 0,0,0,0,1,0);
glutDisplayFunc( RenderScene );
// Set function to call when window is resized
SetupRC();
// Start main loop
glutMainLoop();
} [em7] |
|