Changeset 1317
- Timestamp:
- 07/15/08 04:39:26 (5 months ago)
- Location:
- trunk/pysoy
- Files:
-
- 9 modified
-
examples/AnimBlock.py (modified) (1 diff)
-
include/soy.bodies.pxd (modified) (2 diffs)
-
include/soy.scenes.pxd (modified) (1 diff)
-
include/soy.widgets.pxd (modified) (1 diff)
-
src/bodies/Camera.pym (modified) (4 diffs)
-
src/scenes/Landscape.pym (modified) (2 diffs)
-
src/scenes/Planar.pym (modified) (2 diffs)
-
src/scenes/Scene.pym (modified) (1 diff)
-
src/widgets/Projector.pym (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pysoy/examples/AnimBlock.py
r1299 r1317 11 11 12 12 lava = soy.transports.File('media/lava.soy')['gimp'] 13 lava.animate=(. 5,0,0)13 lava.animate=(.125,0,0) 14 14 dot3 = soy.transports.File('media/fieldstone-dot3.soy')['gimp'] 15 dot3.animate=(.25,0,0) 15 16 colors = { 16 17 'Marble' : (soy.materials.Textured(colormap=lava, bumpmap=dot3), -
trunk/pysoy/include/soy.bodies.pxd
r1305 r1317 18 18 # $Id$ 19 19 20 cimport gl 20 21 cimport ode 21 22 cimport soy._internals … … 86 87 cdef class Camera (Body) : 87 88 cdef int _wire 88 cdef float _fovy89 89 cdef int _rpt 90 90 cdef double _rtimes[16] 91 cdef gl.GLdouble _fovy 92 cdef gl.GLdouble _znear 93 cdef gl.GLdouble _zfar 91 94 # WindowLoop functions 92 cdef void _project ( self ) #nogil 95 cdef void _project ( self, 96 gl.GLdouble ) #nogil 93 97 94 98 -
trunk/pysoy/include/soy.scenes.pxd
r1314 r1317 70 70 cdef double _time 71 71 # _coreloop methods 72 cdef void _render ( self ) 72 cdef void _render ( self, 73 gl.GLdouble, gl.GLdouble, 74 gl.GLdouble, gl.GLdouble ) 73 75 cdef int _steps ( self ) nogil 74 76 cdef void _callback ( self, -
trunk/pysoy/include/soy.widgets.pxd
r1253 r1317 68 68 cdef soy.bodies.Camera _camera 69 69 cdef int _connected 70 cdef float _znear71 cdef float _zfar -
trunk/pysoy/src/bodies/Camera.pym
r1274 r1317 38 38 cdef int _i 39 39 self._fovy = 45.0 40 self._znear = 1.0 41 self._zfar = 100.0 40 42 self.mass = 0 41 43 self._wire = wireframe … … 112 114 # 113 115 114 cdef void _project(self ) :116 cdef void _project(self, gl.GLdouble _aspect) : 115 117 cdef gl.GLfloat _mtx[16] 116 118 # … … 136 138 # 137 139 # Now we apply an inverse matrix to translate to the Scene's origin 140 gl.glMatrixMode(gl.GL_MODELVIEW) 141 gl.glLoadIdentity() 138 142 _mtx[0] = self._rotation[0] 139 143 _mtx[1] = self._rotation[1] … … 154 158 gl.glLoadMatrixf(_mtx) 155 159 gl.glTranslatef(-self._position[0], -self._position[1], -self._position[2]) 156 self._scene._render( )160 self._scene._render(self._fovy, _aspect, self._znear, self._zfar) 157 161 # 158 162 # Framerate calc -
trunk/pysoy/src/scenes/Landscape.pym
r1316 r1317 151 151 152 152 153 cdef void _render(self) : 153 cdef void _render(self, gl.GLdouble _fovy, gl.GLdouble _aspect, 154 gl.GLdouble _znear, gl.GLdouble _zfar) : 155 # 156 # Setup projection matrix 157 gl.glMatrixMode(gl.GL_PROJECTION) 158 gl.glLoadIdentity() 159 gl.gluPerspective(_fovy, _aspect, _znear, 1000.0) 154 160 if self._buffer: 155 161 py.PyMem_Free(self._elementArray) # The arrays are in Vram so lets free it in system mem … … 171 177 gl.GL_UNSIGNED_SHORT, <Face*> 0) 172 178 gl.glBindBufferARB(gl.GL_ARRAY_BUFFER_ARB, 0) 173 174 Scene._render(self) 179 # 180 # Render the rest of the scene normally 181 Scene._render(self, _fovy, _aspect, _znear, _zfar) 175 182 """ 176 183 -
trunk/pysoy/src/scenes/Planar.pym
r1224 r1317 178 178 # 179 179 180 cdef void _render(self) : 181 #gl.glDisable(gl.GL_DEPTH_BUFFER) 180 cdef void _render(self, gl.GLdouble _fovy, gl.GLdouble _aspect, 181 gl.GLdouble _znear, gl.GLdouble _zfar) : 182 # 183 # Setup projection matrix 184 gl.glMatrixMode(gl.GL_PROJECTION) 185 gl.glLoadIdentity() 186 gl.gluPerspective(_fovy, _aspect, _znear, _zfar) 187 182 188 self._material._coreBind() 183 189 … … 195 201 #gl.glPopMatrix() 196 202 self._material._coreUnBind() 197 Scene._render(self )203 Scene._render(self, _fovy, _aspect, _znear, _zfar) 198 204 #gl.glEnable(gl.GL_DEPTH_BUFFER) 199 205 -
trunk/pysoy/src/scenes/Scene.pym
r1279 r1317 124 124 125 125 126 cdef void _render(self) : 126 cdef void _render(self, gl.GLdouble _fovy, gl.GLdouble _aspect, 127 gl.GLdouble _znear, gl.GLdouble _zfar) : 127 128 cdef int _i 129 # 130 # Setup projection matrix 131 gl.glMatrixMode(gl.GL_PROJECTION) 132 gl.glLoadIdentity() 133 gl.gluPerspective(_fovy, _aspect, _znear, _zfar) 128 134 # 129 135 # Setup scene-level rendering -
trunk/pysoy/src/widgets/Projector.pym
r1244 r1317 38 38 else : 39 39 self._connected = 0 40 self._znear = 1.0 41 self._zfar = 100.0 40 42 41 43 42 ############################################################################ … … 55 54 _aspect = (<float> self._width) / (<float> self._height) 56 55 gl.glViewport(self._xpos, self._ypos, self._width, self._height) 57 gl.glMatrixMode(gl.GL_PROJECTION) 58 gl.glLoadIdentity() 59 gl.gluPerspective(self._camera._fovy, _aspect, self._znear, self._zfar) 60 gl.glMatrixMode(gl.GL_MODELVIEW) 61 gl.glLoadIdentity() 62 self._camera._project() 56 self._camera._project(_aspect) 63 57 64 58 ############################################################################
