/* A texture-mapped quad, coded in plain C++. Written by Scott D. Anderson scott.anderson@acm.org Fall 2007 */ #include #include "tw-fake.h" void display(void) { twError(); twDisplayInit(); twCamera(); glPushAttrib(GL_ALL_ATTRIB_BITS); glEnable(GL_TEXTURE_2D); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); twError(); const int Size = 5; // Size of the flag fragment glBegin(GL_QUADS); glTexCoord2f(0,1); glVertex3f(-Size,0,0); glTexCoord2f(1,1); glVertex3f(+Size,0,0); glTexCoord2f(1,0); glVertex3f(+Size,Size,0); glTexCoord2f(0,0); glVertex3f(-Size,Size,0); glEnd(); twError(); glPopAttrib(); glFlush(); glutSwapBuffers(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); twInitWindowSize(); glutCreateWindow(argv[0]); twError(); glutDisplayFunc(display); twError(); flaginit(); glutMainLoop(); return 0; }