def main(): #pygame.init() display = (width * 2, height * 2) #pygame.display.set_mode(display, DOUBLEBUF | OPENGL) # DOUBLEBUF = BUFFER gluPerspective(45, (display[0] / display[1]), 0.1, 1000.0) # FOV, ASPECT RATIO, CLIPPING PLANE NEAR, CLIPPING PLANE FAR gl.glTranslate(0.0, 0.0, -10) gl.glRotatef(0, 0, 0, 0) rotate_right = False rotate_left = False turn_right = False turn_left = False ascend = False descend = False forward = False backward = False # glEnable(GL_LINE_SMOOTH) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() # KEY PRESSED if event.type == pygame.KEYDOWN: if event.key == pygame.K_q: rotate_left = True if event.key == pygame.K_e: rotate_right = True if event.key == pygame.K_a: turn_left = True if event.key == pygame.K_d: turn_right = True if event.key == pygame.K_SPACE: ascend = True if event.key == pygame.K_LSHIFT: descend = True if event.key == pygame.K_w: forward = True if event.key == pygame.K_s: backward = True # KEY RELEASED if event.type == pygame.KEYUP: if event.key == pygame.K_q: rotate_left = False if event.key == pygame.K_e: rotate_right = False if event.key == pygame.K_a: turn_left = False if event.key == pygame.K_d: turn_right = False if event.key == pygame.K_SPACE: ascend = False if event.key == pygame.K_LSHIFT: descend = False if event.key == pygame.K_w: forward = False if event.key == pygame.K_s: backward = False if rotate_left: gl.glRotate(1, 0, 0, 1) if rotate_right: gl.glRotate(1, 0, 0, -1) if turn_left: gl.glRotate(1, 0, 1, 0) if turn_right: gl.glRotate(1, 0, -1, 0) if ascend: gl.glTranslate(0, -0.1, 0) if descend: gl.glTranslate(0, 0.1, 0) if forward: gl.glTranslate(0, 0, -0.1) if backward: gl.glTranslate(0, 0, 0.1) # glRotatef(1, 1, 1, 1) # Give value between 0-1 gl.glClear(gl.GL_COLOR_BUFFER_BIT | gl.GL_DEPTH_BUFFER_BIT) Lights() Terrain() #glPolygonMode(GL_FRONT, GL_LINE) #glPolygonMode(GL_BACK, GL_LINE) Cube() #glPolygonMode(GL_FRONT, GL_FILL) #glPolygonMode(GL_BACK, GL_FILL) #pygame.display.flip() # Update display #pygame.time.wait(10) gl.InitGLUT(1200, 1024, 'TERRAIN') gl.InitGL(1200, 1024) if "-info" in gl.sys.argv: print("GL_RENDERER = ", gl.glGetString(gl.GL_RENDERER)) print("GL_VERSION = ", gl.glGetString(gl.GL_VERSION)) print("GL_VENDOR = ", gl.glGetString(gl.GL_VENDOR)) gl.glutMainLoop()