[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20663] branches/bb_dev/source/gameengine/ Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp: BGE VBO updates :
Dalai Felinto
dfelinto at gmail.com
Sat Jun 6 00:14:41 CEST 2009
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);
}
More information about the Bf-blender-cvs
mailing list