Files
@ 12bfc0b094c6
Branch filter:
Location: light9/lightsim/sim2 - annotation
12bfc0b094c6
3.5 KiB
text/plain
unknown change to mindmap
Ignore-this: a8db27ff3bd89a5c6511359634cbb586
Ignore-this: a8db27ff3bd89a5c6511359634cbb586
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b f866d4dec57b | #!/usr/bin/python2.4
from __future__ import division
import sys, time, math
import Image, ImageFilter
import Numeric as num
from OpenGL import GL, GLUT, GLU
from OpenGL.GL import *
def openglSetup(width=512, height=256):
global cardList
glClearColor (0.0, 0.0, 0.0, 0.0)
glShadeModel (GL_SMOOTH)
glEnable(GL_COLOR_MATERIAL)
glLightfv(GL_LIGHT0, GL_AMBIENT, [0.0, 0.0, 0.0, 1.0])
glLightfv(GL_LIGHT0, GL_DIFFUSE, [1.0, 1.0, 1.0, 1.0])
glLightfv(GL_LIGHT0, GL_POSITION, [0.0, 3.0, 3.0, 0.0])
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, [0.2, 0.2, 0.2, 1.0])
glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, [0])
#glFrontFace(GL_CW)
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT0)
#glEnable(GL_AUTO_NORMAL)
#glEnable(GL_NORMALIZE)
glEnable(GL_DEPTH_TEST)
glViewport (0, 0, width, height)
glMatrixMode (GL_PROJECTION)
glLoadIdentity ()
glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0)
glMatrixMode (GL_MODELVIEW)
cardList = glGenLists(1)
glNewList(cardList, GL_COMPILE)
glColor3f(1,1,1)
glBegin(GL_QUADS)
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 0.0, 1.0)
glTexCoord2f(1.0, 1.0); glVertex3f( 1.0, 0.0, 1.0)
glTexCoord2f(1.0, 0.0); glVertex3f( 1.0, 1.0, 1.0)
glTexCoord2f(0.0, 0.0); glVertex3f(-1.0, 1.0, 1.0)
glEnd()
glEndList()
def imageCard(img):
"""card facing +Z from -1<x<1 -1<y<1"""
textureData = img.convert(mode="RGBA").tostring()
glBindTexture(GL_TEXTURE_2D, 0)
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA,
512, #multiImage.size()[0],
256, #multiImage.size()[1],
0,
GL_RGBA, GL_UNSIGNED_BYTE, textureData)
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)
glCallList(cardList)
def setupDraw():
"""per-frame setup"""
glClearColor(0.0, 0.0, 0.0, 0.0)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glLoadIdentity ()
GLU.gluLookAt (0.5, 0.5, 8.0,
0.5, 0.5, 0.0,
0.0, 1.0, 0.0)
glDisable(GL_TEXTURE_2D)
correctFrameStart = None
def drawFrame():
global correctFrameStart
t1 = time.time()
setupDraw()
matching = False
glPushMatrix()
try:
glTranslatef(1, -.9, 3.2)
# flip to compensate for the camera facing the user
glScalef(-1, 1, 1)
glDisable(GL_LIGHTING)
glEnable(GL_TEXTURE_2D)
# imageCard(Image.open("skyline/bg.png"))
imageCard(Image.open("skyline/cyc-lo-red.png"))
## if grab.lastFrame:
## imageCard(grab.lastFrame)
## glEnable(GL_LIGHTING)
## glDisable(GL_TEXTURE_2D)
## if grab.seenPose:
## for colorName, pos in grab.seenPose.pos.items():
## cube(color=(x / 255 for x in vision.colors[colorName]),
## center=((1-pos[0]) * 2 - 1, pos[1] * 2 - 1, 1),
## side=.1, wire=False)
## matching = game.pose.compare(grab.seenPose)
glEnable(GL_LIGHTING)
glDisable(GL_TEXTURE_2D)
finally:
glPopMatrix()
glFlush()
#print "draw", time.time() - t1
GLUT.glutInit(sys.argv)
window = GLUT.glutCreateWindow("sim2")
openglSetup()
GLUT.glutDisplayFunc(drawFrame)
def menu(arg):
print "hi", arg
GLUT.glutCreateMenu(menu)
GLUT.glutAddMenuEntry("hi", 1)
GLUT.glutAttachMenu(GLUT.GLUT_RIGHT_BUTTON)
GLUT.glutMainLoop()
|