Revision: 20663
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20663
Author:   dfelinto
Date:     2009-06-06 00:14:40 +0200 (Sat, 06 Jun 2009)

Log Message:
-----------
BGE VBO updates:
- Changing Normal VBO from GL_STATIC_DRAW to GL_DYNAMIC_DRAW 

- Replacing glBufferSubDataARB() with ZERO offset to glBufferDataARB() (they 
work the same, and the latest is clear in its functionality).

- Removing unnecessary calls of: glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
[Benoit, can you check if this last one is ok?]

Modified Paths:
--------------
    
branches/bb_dev/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp

Modified: 
branches/bb_dev/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp
===================================================================
--- 
branches/bb_dev/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp
        2009-06-05 20:56:20 UTC (rev 20662)
+++ 
branches/bb_dev/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp
        2009-06-05 22:14:40 UTC (rev 20663)
@@ -170,34 +170,34 @@
        glBindBufferARB(GL_ARRAY_BUFFER_ARB, array->m_vboSlot->m_vertVbo);
        glBufferDataARB(GL_ARRAY_BUFFER_ARB, 
sizeof(float)*array->m_vertex.size()*3,
                array->m_vboSlot->m_verts, GL_DYNAMIC_DRAW_ARB);
-       glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+//     glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
        glGenBuffersARB(1, &array->m_vboSlot->m_normalVbo);
        glBindBufferARB(GL_ARRAY_BUFFER_ARB, array->m_vboSlot->m_normalVbo);
        glBufferDataARB(GL_ARRAY_BUFFER_ARB, 
sizeof(float)*array->m_vertex.size()*3,
-               normals, GL_STATIC_DRAW_ARB);
-       glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+               normals, GL_DYNAMIC_DRAW_ARB);
+//     glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
        glGenBuffersARB(1, &array->m_vboSlot->m_tangentVbo);
        glBindBufferARB(GL_ARRAY_BUFFER_ARB, array->m_vboSlot->m_tangentVbo);
        glBufferDataARB(GL_ARRAY_BUFFER_ARB, 
sizeof(float)*array->m_vertex.size()*4,
                tangents, GL_STATIC_DRAW_ARB);
-       glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+//     glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
        glGenBuffersARB(1, &array->m_vboSlot->m_texCoordVbo[0]);
        glBindBufferARB(GL_ARRAY_BUFFER_ARB, 
array->m_vboSlot->m_texCoordVbo[0]);
        glBufferDataARB(GL_ARRAY_BUFFER_ARB, 
sizeof(float)*array->m_vertex.size()*2,
                texCoords0, GL_STATIC_DRAW_ARB);
-       glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+//     glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
        glGenBuffersARB(1, &array->m_vboSlot->m_texCoordVbo[1]);
        glBindBufferARB(GL_ARRAY_BUFFER_ARB, 
array->m_vboSlot->m_texCoordVbo[1]);
        glBufferDataARB(GL_ARRAY_BUFFER_ARB, 
sizeof(float)*array->m_vertex.size()*2,
                texCoords1, GL_STATIC_DRAW_ARB);
-       glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+//     glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
        if(isColors)
        {
                glGenBuffersARB(1, &array->m_vboSlot->m_colorVbo);
                glBindBufferARB(GL_ARRAY_BUFFER_ARB, 
array->m_vboSlot->m_colorVbo);
                glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(unsigned 
char)*array->m_vertex.size()*4,
                        colors, GL_STATIC_DRAW_ARB);
-               glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+//             glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
        }
        glGenBuffersARB(1, &array->m_vboSlot->m_indexVbo);
        glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 
array->m_vboSlot->m_indexVbo);
@@ -242,12 +242,11 @@
                                num+=3;
                        }
                        glBindBufferARB(GL_ARRAY_BUFFER_ARB, slot->m_vertVbo);
-                       glBufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0,
-                               sizeof(float)*it.array->m_vertex.size()*3, 
slot->m_verts);
-                       glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+                       glBufferDataARB(GL_ARRAY_BUFFER_ARB,
+                               sizeof(float)*it.array->m_vertex.size()*3, 
slot->m_verts, GL_DYNAMIC_DRAW_ARB);
                        glBindBufferARB(GL_ARRAY_BUFFER_ARB, slot->m_normalVbo);
-                       glBufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0,
-                               sizeof(float)*it.array->m_vertex.size()*3, 
normals);
+                       glBufferDataARB(GL_ARRAY_BUFFER_ARB,
+                               sizeof(float)*it.array->m_vertex.size()*3, 
normals, GL_DYNAMIC_DRAW_ARB);
                        glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
 
                }


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to