Author: ArcRiley
Date: 2008-03-19 02:38:54 -0400 (Wed, 19 Mar 2008)
New Revision: 1178

Modified:
   trunk/pysoy/include/gl.pxd
   trunk/pysoy/src/_datatypes/FaceList.pxi
   trunk/pysoy/src/_datatypes/MaterialList.pxi
   trunk/pysoy/src/_datatypes/VertexList.pxi
   trunk/pysoy/src/_datatypes/soy._datatypes.pxd
   trunk/pysoy/src/models/Mesh.pxi
Log:
No Ticket :
  * added gl.GLEW_ARB_vertex_program
  * renamed _renderBuffer* to _render*
  * removed vertex array rendering code, it's obsolete anyway


Modified: trunk/pysoy/include/gl.pxd
===================================================================
--- trunk/pysoy/include/gl.pxd  2008-03-19 05:36:38 UTC (rev 1177)
+++ trunk/pysoy/include/gl.pxd  2008-03-19 06:38:54 UTC (rev 1178)
@@ -936,6 +936,7 @@
     GLEW_EXT_vertex_array
     GLEW_EXT_fog_coord
     GLEW_ARB_vertex_buffer_object
+    GLEW_ARB_vertex_program
 
   # Data types
   ctypedef unsigned int GLenum

Modified: trunk/pysoy/src/_datatypes/FaceList.pxi
===================================================================
--- trunk/pysoy/src/_datatypes/FaceList.pxi     2008-03-19 05:36:38 UTC (rev 
1177)
+++ trunk/pysoy/src/_datatypes/FaceList.pxi     2008-03-19 06:38:54 UTC (rev 
1178)
@@ -69,19 +69,12 @@
     return _face
 
   
-  cdef void _renderArray(self, int _offset, int _length) :
+  cdef void _render(self, int _offset, int _length) :
     gl.glDrawElements (gl.GL_TRIANGLES, _length*3,
-                       gl.GL_UNSIGNED_SHORT, self._array + _offset)
-
-
-  cdef void _renderBuffer(self, int _offset, int _length) :
-    gl.glDrawElements (gl.GL_TRIANGLES, _length*3,
                        gl.GL_UNSIGNED_SHORT, (<Face*> 0) + _offset)
 
-  cdef void _renderArrayBumpPass  (self, int a, int b):
-    pass
 
-  cdef void _renderBufferBumpPass (self, int a , int b):
+  cdef void _renderBumpPass (self, int a , int b):
     pass
 
 

Modified: trunk/pysoy/src/_datatypes/MaterialList.pxi
===================================================================
--- trunk/pysoy/src/_datatypes/MaterialList.pxi 2008-03-19 05:36:38 UTC (rev 
1177)
+++ trunk/pysoy/src/_datatypes/MaterialList.pxi 2008-03-19 06:38:54 UTC (rev 
1178)
@@ -76,32 +76,7 @@
     return _mat
 
 
-  cdef void _renderArray(self, void* body) :
-    cdef int i
-    cdef soy.models.Mesh _mesh
-
-    _mesh = <soy.models.Mesh> self._mesh
-    if self._hasBumps :
-      _mesh._verts._calculateTSLV(body)
-
-    _mesh._verts._renderArrayBumpPass()
-    py.PyThread_acquire_lock((<soy.models.Mesh> self._mesh)._mutex, 1)
-    for i from 0 <= i < self._children._current :
-      (<soy.materials.Material> self._children._list[i])._coreBind()
-      _mesh._faces._renderArray(self._ranges[i].offset, self._ranges[i].length)
-      (<soy.materials.Material> self._children._list[i])._coreUnBind()
-    py.PyThread_release_lock((<soy.models.Mesh> self._mesh)._mutex)
-
-    _mesh._verts._renderArray()
-    py.PyThread_acquire_lock((<soy.models.Mesh> self._mesh)._mutex, 1)
-    for i from 0 <= i < self._children._current :
-      (<soy.materials.Material> self._children._list[i])._coreBind()
-      _mesh._faces._renderArray(self._ranges[i].offset, self._ranges[i].length)
-      (<soy.materials.Material> self._children._list[i])._coreUnBind()
-    py.PyThread_release_lock((<soy.models.Mesh> self._mesh)._mutex)
-
-
-  cdef void _renderBuffer(self, void* body) :
+  cdef void _render(self, void* body) :
     cdef int             _i
     cdef soy.models.Mesh _mesh
     if self._children._current == 0 :
@@ -115,7 +90,7 @@
       _mesh._verts._createBuffer()
 
     _mesh._faces._sendUpdated()
-    _mesh._verts._renderBufferBumpPass()
+    _mesh._verts._renderBumpPass()
 
     self._children._iterStart()
     for _i from 0 <= _i < self._children._current :
@@ -123,18 +98,18 @@
           self._children._list[_i])._has_bumpmap() :
         (<soy.materials.Material> 
           self._children._list[_i])._coreBindBumpPass()
-        _mesh._faces._renderBuffer(self._ranges[_i].offset, 
+        _mesh._faces._render(self._ranges[_i].offset, 
                                         self._ranges[_i].length)
         (<soy.materials.Material>
           self._children._list[_i])._coreUnBindBumpPass()
     self._children._iterDone()
 
-    _mesh._verts._renderBuffer()
+    _mesh._verts._render()
     self._children._iterStart()
     for _i from 0 <= _i < self._children._current :
       (<soy.materials.Material>
        self._children._list[_i])._coreBind()
-      _mesh._faces._renderBuffer(self._ranges[_i].offset,
+      _mesh._faces._render(self._ranges[_i].offset,
                                      self._ranges[_i].length)
       (<soy.materials.Material>
        self._children._list[_i])._coreUnBind()

Modified: trunk/pysoy/src/_datatypes/VertexList.pxi
===================================================================
--- trunk/pysoy/src/_datatypes/VertexList.pxi   2008-03-19 05:36:38 UTC (rev 
1177)
+++ trunk/pysoy/src/_datatypes/VertexList.pxi   2008-03-19 06:38:54 UTC (rev 
1178)
@@ -90,14 +90,7 @@
     return _vert
 
 
-  cdef void _renderArray(self) :
-    gl.glVertexPointer  (3,  gl.GL_FLOAT, sizeof(Vert), &self._array[0].px)
-    gl.glNormalPointer  (    gl.GL_FLOAT, sizeof(Vert), &self._array[0].nx)
-    gl.glTexCoordPointer(3,  gl.GL_FLOAT, sizeof(Vert), &self._array[0].tx)
-    gl.glFogCoordPointerEXT( gl.GL_FLOAT,  0, self._fogArray)
-
-
-  cdef void _renderBuffer(self) :
+  cdef void _render(self) :
     gl.glClientActiveTexture(gl.GL_TEXTURE1)
     gl.glDisableClientState(gl.GL_TEXTURE_COORD_ARRAY)
     gl.glClientActiveTexture(gl.GL_TEXTURE0)
@@ -111,19 +104,7 @@
     gl.glFogCoordPointerEXT( gl.GL_FLOAT,  0, <float*> (sizeof(Vert) * 
self._bufferAlloc))
 
 
-  cdef void _renderArrayBumpPass  (self) :
-    gl.glVertexPointer  (3,  gl.GL_FLOAT, sizeof(Vert), &self._array[0].px)
-    gl.glNormalPointer  (    gl.GL_FLOAT, sizeof(Vert), &self._array[0].nx)
-    gl.glTexCoordPointer(3,  gl.GL_FLOAT, sizeof(Vert), &self._array[0].tx)
-    gl.glFogCoordPointerEXT( gl.GL_FLOAT,  0, self._fogArray)
-    #
-    gl.glClientActiveTexture(gl.GL_TEXTURE1)
-    gl.glEnableClientState(gl.GL_TEXTURE_COORD_ARRAY)
-    gl.glTexCoordPointer(3, gl.GL_FLOAT, 0, self._tslvArray)
-    gl.glClientActiveTexture(gl.GL_TEXTURE0)
-
-
-  cdef void _renderBufferBumpPass (self) :
+  cdef void _renderBumpPass (self) :
     gl.glBindBufferARB  (gl.GL_ARRAY_BUFFER_ARB, self._buffer)
     self._sendUpdated()
     #

Modified: trunk/pysoy/src/_datatypes/soy._datatypes.pxd
===================================================================
--- trunk/pysoy/src/_datatypes/soy._datatypes.pxd       2008-03-19 05:36:38 UTC 
(rev 1177)
+++ trunk/pysoy/src/_datatypes/soy._datatypes.pxd       2008-03-19 06:38:54 UTC 
(rev 1178)
@@ -81,9 +81,10 @@
   cdef Range                     *_ranges
   cdef int                        _rangesAlloc
   cdef int                        _hasBumps
+  # General C functions
   cdef void                       _allocRanges          ( self, int )
-  cdef void                       _renderArray          ( self, void* )
-  cdef void                       _renderBuffer         ( self, void* )
+  # WindowLoop functions
+  cdef void                       _render               ( self, void* )
 
 
 cdef class FaceList (Datatype) :
@@ -97,10 +98,8 @@
   cdef int                        _bufferAlloc
   cdef Range                      _updateRange
   cdef void                       _allocArray           ( self, int )
-  cdef void                       _renderArray          ( self, int, int )
-  cdef void                       _renderBuffer         ( self, int, int )
-  cdef void                       _renderArrayBumpPass  ( self, int, int )
-  cdef void                       _renderBufferBumpPass ( self, int, int )
+  cdef void                       _render               ( self, int, int )
+  cdef void                       _renderBumpPass       ( self, int, int )
   cdef void                       _createBuffer         ( self )
   cdef void                       _sendUpdated          ( self )
   cdef void                       _flagUpdated          ( self, int, int )
@@ -120,10 +119,8 @@
   cdef int                        _bufferAlloc
   cdef Range                      _updateRange
   cdef void                       _allocArray           ( self, int )
-  cdef void                       _renderArray          ( self )
-  cdef void                       _renderBuffer         ( self )
-  cdef void                       _renderArrayBumpPass  ( self )
-  cdef void                       _renderBufferBumpPass ( self )
+  cdef void                       _render               ( self )
+  cdef void                       _renderBumpPass       ( self )
   cdef void                       _createBuffer         ( self )
   cdef void                       _sendUpdated          ( self )
   cdef void                       _flagUpdated          ( self, int )

Modified: trunk/pysoy/src/models/Mesh.pxi
===================================================================
--- trunk/pysoy/src/models/Mesh.pxi     2008-03-19 05:36:38 UTC (rev 1177)
+++ trunk/pysoy/src/models/Mesh.pxi     2008-03-19 06:38:54 UTC (rev 1178)
@@ -126,10 +126,7 @@
 
   cdef void _render(self, void* _body) :
     py.PyThread_acquire_lock(self._mutex, 1)
-    if gl.GLEW_ARB_vertex_buffer_object :
-      self._mates._renderBuffer(_body)
-    else :
-      self._mates._renderArray(_body)
+    self._mates._render(_body)
     py.PyThread_release_lock(self._mutex)
 
   #

_______________________________________________
PySoy-SVN mailing list
PySoy-SVN@pysoy.org
http://www.pysoy.org/mailman/listinfo/pysoy-svn

Reply via email to