Advertisement
Techmo

GAME

May 21st, 2014
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.22 KB | None | 0 0
  1. __author__ = 'bradly.tillmann'
  2. from OpenGL.GL import *
  3. from OpenGL.GLUT import *
  4. from OpenGL.GLU import *
  5. import sys
  6. #import serial
  7. import os
  8. import threading
  9.  
  10. ESCAPE = '\033'
  11.  
  12. window = 0
  13.  
  14. #rotation
  15. X_AXIS = 0.0
  16. Y_AXIS = 0.0
  17. Z_AXIS = 0.0
  18. global loc_x
  19. global loc_y
  20. global loc_z
  21. loc_x = 0
  22. loc_y = 0
  23. loc_z = 0
  24.  
  25. DIRECTION = 1
  26. file = open("key.txt", "a")
  27.  
  28. def InitGL(Width, Height):
  29.  
  30.         glClearColor(0.0, 0.0, 0.0, 0.0)
  31.         glClearDepth(1.0)
  32.         glDepthFunc(GL_LESS)
  33.         glEnable(GL_DEPTH_TEST)
  34.         glShadeModel(GL_SMOOTH)
  35.         glMatrixMode(GL_PROJECTION)
  36.         glLoadIdentity()
  37.         gluPerspective(45.0, float(Width)/float(Height), 0.1, 100.0)
  38.         glMatrixMode(GL_MODELVIEW)
  39.  
  40. def keyPressed(key, x, y):
  41.     if key == 'w':
  42.         global loc_x
  43.         loc_x += 1
  44.     if key == 's':
  45.         global loc_x
  46.         loc_x -= 1
  47.     if key == 'a':
  48.         global loc_y
  49.         loc_y += 1
  50.     if key == 'd':
  51.         global loc_y
  52.         loc_y -= 1
  53.     if key == 'e':
  54.         global loc_z
  55.         loc_z += 0.1
  56.     if key == 'q':
  57.         global loc_z
  58.         loc_z -= 0.1
  59.  
  60. def cube(x, y, z, red, green, blue):
  61.         glBegin(GL_QUADS)
  62.  
  63.         glColor3f(red, green, blue)
  64.         glVertex3f( 1.0 + (x * 2), 1.0 + (y * 2),-1.0 + (z * 2))
  65.         glVertex3f(-1.0 + (x * 2), 1.0 + (y * 2),-1.0 + (z * 2))
  66.         glVertex3f(-1.0 + (x * 2), 1.0 + (y * 2), 1.0 + (z * 2))
  67.         glVertex3f( 1.0 + (x * 2), 1.0 + (y * 2), 1.0 + (z * 2))
  68.  
  69.         glColor3f(red, green, blue)
  70.         glVertex3f( 1.0 + (x * 2),-1.0 + (y * 2), 1.0 + (z * 2))
  71.         glVertex3f(-1.0 + (x * 2),-1.0 + (y * 2), 1.0 + (z * 2))
  72.         glVertex3f(-1.0 + (x * 2),-1.0 + (y * 2),-1.0 + (z * 2))
  73.         glVertex3f( 1.0 + (x * 2),-1.0 + (y * 2),-1.0 + (z * 2))
  74.  
  75.         glColor3f(red, green, blue)
  76.         glVertex3f( 1.0 + (x * 2), 1.0 + (y * 2), 1.0 + (z * 2))
  77.         glVertex3f(-1.0 + (x * 2), 1.0 + (y * 2), 1.0 + (z * 2))
  78.         glVertex3f(-1.0 + (x * 2),-1.0 + (y * 2), 1.0 + (z * 2))
  79.         glVertex3f( 1.0 + (x * 2),-1.0 + (y * 2), 1.0 + (z * 2))
  80.  
  81.         glColor3f(red, green, blue)
  82.         glVertex3f( 1.0 + (x * 2),-1.0 + (y * 2),-1.0 + (z * 2))
  83.         glVertex3f(-1.0 + (x * 2),-1.0 + (y * 2),-1.0 + (z * 2))
  84.         glVertex3f(-1.0 + (x * 2), 1.0 + (y * 2),-1.0 + (z * 2))
  85.         glVertex3f( 1.0 + (x * 2), 1.0 + (y * 2),-1.0 + (z * 2))
  86.  
  87.         glColor3f(red, green, blue)
  88.         glVertex3f(-1.0 + (x * 2), 1.0 + (y * 2), 1.0 + (z * 2))
  89.         glVertex3f(-1.0 + (x * 2), 1.0 + (y * 2),-1.0 + (z * 2))
  90.         glVertex3f(-1.0 + (x * 2),-1.0 + (y * 2),-1.0 + (z * 2))
  91.         glVertex3f(-1.0 + (x * 2),-1.0 + (y * 2), 1.0 + (z * 2))
  92.  
  93.         glColor3f(red, green, blue)
  94.         glVertex3f( 1.0 + (x * 2), 1.0 + (y * 2),-1.0 + (z * 2))
  95.         glVertex3f( 1.0 + (x * 2), 1.0 + (y * 2), 1.0 + (z * 2))
  96.         glVertex3f( 1.0 + (x * 2),-1.0 + (y * 2), 1.0 + (z * 2))
  97.         glVertex3f( 1.0 + (x * 2),-1.0 + (y * 2),-1.0 + (z * 2))
  98.  
  99.         glEnd()
  100. def DrawGLScene():
  101.         global X_AXIS,Y_AXIS,Z_AXIS
  102.         global DIRECTION
  103.  
  104.         glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
  105.  
  106.         glLoadIdentity()
  107.         glTranslatef(0.0,0.0,-6.0)
  108.  
  109.         glRotatef(X_AXIS,1.0,0.0,0.0)
  110.         glRotatef(Y_AXIS,0.0,1.0,0.0)
  111.         glTranslatef(0.0, 0.0, float(Z_AXIS))
  112.  
  113.         # Draw Cube (multiple quads)
  114.         cube(0, 0, 0, 0, 1, 0)
  115.         cube(1, 0, 0, 1, 0, 0)
  116.         cube(0, 0, 1, 0, 0, 1)
  117.  
  118.         X_AXIS = loc_x
  119.         Z_AXIS = loc_z
  120.         Y_AXIS = loc_y
  121.         glutSwapBuffers()
  122.  
  123.  
  124.  
  125. def main():
  126.  
  127.         global window
  128.  
  129.         glutInit(sys.argv)
  130.         glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH)
  131.         glutInitWindowSize(640,480)
  132.         glutInitWindowPosition(200,200)
  133.         window = glutCreateWindow('OpenGL Python Cube')
  134.         glutDisplayFunc(DrawGLScene)
  135.         glutIdleFunc(DrawGLScene)
  136.         glutKeyboardFunc(keyPressed)
  137.         glutKeyboardFunc(keyPressed)
  138.         InitGL(640, 480)
  139.         glutMainLoop()
  140.  
  141. def display():
  142.  
  143.     glClear(GL_COLOR_BUFFER_BIT)
  144.  
  145.     glBegin(GL_LINES)
  146.     glVertex2f(1.0, 1.0)
  147.     glVertex2f(-1.0, -1.0)
  148.     glEnd()
  149.  
  150.     glutSwapBuffers()
  151.  
  152. if __name__ == "__main__":
  153.         main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement