Author: ArcRiley
Date: 2008-05-18 15:28:37 -0400 (Sun, 18 May 2008)
New Revision: 1272

Modified:
   trunk/pysoy/include/soy._datatypes.pxd
   trunk/pysoy/include/soy.models.pxd
   trunk/pysoy/src/_datatypes/VertexList.pym
   trunk/pysoy/src/models/Mesh.pym
   trunk/pysoy/src/models/Model.pym
Log:
'''Pyrex 0.9.8.2 fixes''' :
  * fog coords are now calculated in the Mesh, marked nogil


Modified: trunk/pysoy/include/soy._datatypes.pxd
===================================================================
--- trunk/pysoy/include/soy._datatypes.pxd      2008-05-18 19:16:09 UTC (rev 
1271)
+++ trunk/pysoy/include/soy._datatypes.pxd      2008-05-18 19:28:37 UTC (rev 
1272)
@@ -141,5 +141,4 @@
   cdef void                       _createBuffer         ( self )
   cdef void                       _sendUpdated          ( self )
   cdef void                       _flagUpdated          ( self, int )
-  cdef void                       _uploadFogCoord       ( self, float )
   cdef void                       _calculateTSLV        ( self, void* body )

Modified: trunk/pysoy/include/soy.models.pxd
===================================================================
--- trunk/pysoy/include/soy.models.pxd  2008-05-18 19:16:09 UTC (rev 1271)
+++ trunk/pysoy/include/soy.models.pxd  2008-05-18 19:28:37 UTC (rev 1272)
@@ -55,8 +55,7 @@
   #
   # WindowLoop functions
   cdef void                         _render        ( self, soy.bodies.Body )
-  cdef void                         _calcFogCoords ( self, float )
-  cdef void                         _calcFogCoords ( self, float )
+  cdef void                         _calcFogCoords ( self, float )        nogil
 
 
 cdef class Mesh (Model) :

Modified: trunk/pysoy/src/_datatypes/VertexList.pym
===================================================================
--- trunk/pysoy/src/_datatypes/VertexList.pym   2008-05-18 19:16:09 UTC (rev 
1271)
+++ trunk/pysoy/src/_datatypes/VertexList.pym   2008-05-18 19:28:37 UTC (rev 
1272)
@@ -182,22 +182,6 @@
             self._tslvArray, 3*sizeof(float))
 
 
-  cdef void _uploadFogCoord(self, float _yCoord) :
-    cdef int _i
-    #cdef float* fog_coord_array
-    #fog_coord_array = ( <float*> stdlib.malloc(4 * self._bufferAlloc) )
-    #
-    for _i from 0 <= _i < self._fogSize :
-      self._fogArray[_i] = _yCoord + self._array[_i].py
-    #
-    if self._bufferAlloc :
-      gl.glBindBufferARB   (gl.GL_ARRAY_BUFFER_ARB, self._buffer)
-      gl.glBufferSubDataARB(gl.GL_ARRAY_BUFFER_ARB, 
-                            sizeof(Vert) * self._bufferAlloc,
-                            4 * self._bufferAlloc, self._fogArray)
-    #stdlib.free( fog_coord_array)
-
-
   cdef void _calculateTSLV(self, void* __body) :
     #
     # Calculate TSLV (Tangent Space Light Vector)

Modified: trunk/pysoy/src/models/Mesh.pym
===================================================================
--- trunk/pysoy/src/models/Mesh.pym     2008-05-18 19:16:09 UTC (rev 1271)
+++ trunk/pysoy/src/models/Mesh.pym     2008-05-18 19:28:37 UTC (rev 1272)
@@ -161,5 +161,18 @@
   #
   ############################################################################
 
-  cdef void _calcFogCoords(self, float _depth) :
-    self._verts._uploadFogCoord(_depth)
+  cdef void _calcFogCoords(self, float _depth) nogil :
+    cdef int _i
+    #cdef float* fog_coord_array
+    #fog_coord_array = ( <float*> stdlib.malloc(4 * self._bufferAlloc) )
+    #
+    for _i from 0 <= _i < self._verts._fogSize :
+      self._verts._fogArray[_i] = _depth + self._verts._array[_i].py
+    #
+    if self._verts._bufferAlloc :
+      gl.glBindBufferARB   (gl.GL_ARRAY_BUFFER_ARB, self._verts._buffer)
+      gl.glBufferSubDataARB(gl.GL_ARRAY_BUFFER_ARB,
+                            48 * self._verts._bufferAlloc,
+                            4 * self._verts._bufferAlloc, 
+                            self._verts._fogArray)
+    #stdlib.free( fog_coord_array)

Modified: trunk/pysoy/src/models/Model.pym
===================================================================
--- trunk/pysoy/src/models/Model.pym    2008-05-18 19:16:09 UTC (rev 1271)
+++ trunk/pysoy/src/models/Model.pym    2008-05-18 19:28:37 UTC (rev 1272)
@@ -52,6 +52,6 @@
   cdef void _render(self, soy.bodies.Body _body) :
     return
 
-  cdef void _calcFogCoords(self, float _depth) :
+  cdef void _calcFogCoords(self, float _depth) nogil :
     return
 

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

Reply via email to