Files
@ 157985a971dc
Branch filter:
Location: light9/lightsim/sim2 - annotation
157985a971dc
3.5 KiB
text/plain
non-working WIP for vidref web
Ignore-this: e4be7b5961222bedb5ffe53c46388b3
Ignore-this: e4be7b5961222bedb5ffe53c46388b3
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()
|