Author: ArcRiley Date: 2008-05-19 21:34:10 -0400 (Mon, 19 May 2008) New Revision: 1281
Added: trunk/pysoy/examples/CubeMap.py Log: '''Debugging''' : * this shows the cubemap used for bumpmapping - it's currently flawed Added: trunk/pysoy/examples/CubeMap.py =================================================================== --- trunk/pysoy/examples/CubeMap.py (rev 0) +++ trunk/pysoy/examples/CubeMap.py 2008-05-20 01:34:10 UTC (rev 1281) @@ -0,0 +1,84 @@ +#!/usr/bin/env python +import soy +import blocks2 as blocks +from time import sleep + +sce = soy.scenes.Scene() +cam = soy.bodies.Camera(sce) +cam.position = (0.0, 0.0, 5.0) +lig = soy.bodies.Light(sce) +lig.position = (-10.0,10.0,2.0) + +tex = soy.textures.NormalisationCubeMap() +mat = soy.materials.Textured(colormap=tex) +black = soy.materials.Material() +black.ambient = soy.colors.black +black.diffuse = soy.colors.Color('#222') +black.specular= soy.colors.Color('#222') +black.shininess = 5.0 + +colors = { + 'One' : (mat, mat, (0,0,0)), +} + +bks = blocks.blocks(sce, colors) + +fps = soy.textures.Print() + +scr = soy.Screen() +win = soy.Window(scr, 'CollideBlocks', background=soy.colors.gray) +pro = soy.widgets.Projector(win, camera=cam) +can = soy.widgets.Canvas(win, texture=fps) + +def wireframeToggle() : + if cam.wireframe : + cam.wireframe = False + else : + cam.wireframe = True + +def fullscreenToggle() : + if scr.fullscreen : + scr.fullscreen = None + else : + scr.fullscreen = win + +def moreLight() : + lig.diffuse = lig.diffuse + 1.0 + print lig.diffuse + +def lessLight() : + lig.diffuse = lig.diffuse - 1.0 + print lig.diffuse + +key = soy.controllers.Keyboard(win) +key['Q'] = soy.actions.Force(bks['One'], -100, 0, 0) +key['R'] = soy.actions.Force(bks['One'], 0, 100, 0) +key['S'] = soy.actions.Force(bks['One'], 100, 0, 0) +key['T'] = soy.actions.Force(bks['One'], 0, -100, 0) +key['U'] = soy.actions.Force(bks['One'], 0, 0, -100) +key['V'] = soy.actions.Force(bks['One'], 0, 0, 100) +key['q'] = soy.actions.Quit() +key[ 1 ] = soy.actions.Quit() # 9 = esc key +key['f'] = fullscreenToggle +key['w'] = wireframeToggle +key['['] = lessLight +key[']'] = moreLight +wcn = soy.controllers.Window(win) +wcn['close'] = soy.actions.Quit() + +if __name__ == '__main__' : + while True: + sleep(.1) + fps.text = '%sfps' % str(int(cam.fps)).zfill(4) + for bk in bks : + p = bks[bk].position + v = bks[bk].velocity + v = [v[0], v[1], v[2]] + if abs(p[0]) > 5 and ((p[0]>0 and v[0]>0) or (p[0]<0 and v[0]< 0)) : + v[0] = v[0]*-1 + if abs(p[1]) > 5 and ((p[1]>0 and v[1]>0) or (p[1]<0 and v[1]< 0)) : + v[1] = v[1]*-1 + if abs(p[2]) > 5 and ((p[2]>0 and v[2]>0) or (p[2]<0 and v[2]< 0)) : + v[2] = v[2]*-1 + bks[bk].velocity = v + Property changes on: trunk/pysoy/examples/CubeMap.py ___________________________________________________________________ Added: svn:executable + * _______________________________________________ PySoy-SVN mailing list PySoy-SVN@pysoy.org http://www.pysoy.org/mailman/listinfo/pysoy-svn