Files
@ 84adc69fdf8a
Branch filter:
Location: light9/lightsim/sim2 - annotation
84adc69fdf8a
3.5 KiB
text/plain
fix inlineattrs setup and effect editing
Ignore-this: f5d5089ab5550815158fcdbaa79d71f1
Ignore-this: f5d5089ab5550815158fcdbaa79d71f1
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()
|