#include #include #include #include #include #include "glaux.h" void Initialize(void) { glDrawBuffer(GL_FRONT_AND_BACK); } void TriangleAt(GLfloat x, GLfloat y, GLfloat z, GLfloat size, BOOL colors) { glPushMatrix(); glTranslatef(x, y, z); glBegin (GL_TRIANGLES); if (colors) { glColor3f(1.0f, 0.0f, 0.0f); } glVertex2f (0.0f, 0.0f); if (colors) { glColor3f(0.0f, 1.0f, 0.0f); } glVertex2f (size, size); if (colors) { glColor3f(0.0f, 0.0f, 1.0f); } glVertex2f (0.0f, size); glEnd (); glPopMatrix(); } void Test(void) { TriangleAt(1.0f, 1.0f, 0.0f, 98.0f, TRUE); glFlush(); Sleep(1000); auxSwapBuffers(); } void display(void) { glClear (GL_COLOR_BUFFER_BIT); Test (); glFlush (); } void myReshape(GLsizei w, GLsizei h) { glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); if (w <= h) gluOrtho2D (0.0, 100.0, 0.0, 100.0 * (GLfloat) h/(GLfloat) w); else gluOrtho2D (0.0, 100.0 * (GLfloat) w/(GLfloat) h, 0.0, 100.0); glMatrixMode(GL_MODELVIEW); } /* Main Loop * Open window with initial window size, title bar, * RGBA display mode, and handle input events. */ int __cdecl main(int argc, char** argv) { auxInitDisplayMode (AUX_DOUBLE | AUX_RGB); auxInitPosition (15, 15, 500, 500); auxInitWindow ("GL_FRONT_AND_BACK Test"); Initialize(); auxReshapeFunc (myReshape); auxMainLoop(display); return 0; }