Files
@ 6e2eb80b02df
Branch filter:
Location: light9/lightsim/sim2 - annotation
6e2eb80b02df
3.5 KiB
text/plain
start of a rewrite of the CurveRow ui which will let the curve area be a scrolling region
Ignore-this: afd04db4e62a5783e28b0891785f57be
Ignore-this: afd04db4e62a5783e28b0891785f57be
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()
|