# Demonstration of "depth fighting" # import sys import time from OpenGL.GLUT import * from OpenGL.GL import * from OpenGL.GLU import * angle = 0 prevTime = time.time() def draw(): glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) glLoadIdentity() glTranslatef(0, 0, -3) global angle glRotatef(angle, 0, 1, 0) glColor3f(0, 0, 1) glBegin(GL_QUADS) glVertex2f(-2, -1.5) glVertex2f(1, -1.5) glVertex2f(1, 1.5) glVertex2f(-2, 1.5) glEnd() # glTranslatef(1, 0, 0.0008) glColor3f(1, 0, 0) glBegin(GL_QUADS) glVertex2f(-1, -1) glVertex2f(2, -1) glVertex2f(2, 1) glVertex2f(-1, 1) glEnd() glutSwapBuffers() def keyboard(key, x, y): if key == chr(27): sys.exit(0) elif key == ' ': global angle angle = angle + 1 glutPostRedisplay() glutInit(sys.argv) glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH) glutInitWindowSize(400, 400) glutInitWindowPosition(0,0) glutCreateWindow(sys.argv[0]) glutDisplayFunc(draw) glutKeyboardFunc(keyboard) glMatrixMode(GL_PROJECTION) gluPerspective(60, 1, 1, 100) glMatrixMode(GL_MODELVIEW) glEnable(GL_DEPTH_TEST) glutMainLoop()