Index: Horde3D/Source/Horde3DEngine/egRendererBase.cpp =================================================================== --- Horde3D/Source/Horde3DEngine/egRendererBase.cpp (revision 572) +++ Horde3D/Source/Horde3DEngine/egRendererBase.cpp (working copy) @@ -237,9 +237,10 @@ buf.type = GL_ARRAY_BUFFER; buf.size = size; + buf.usage = GL_DYNAMIC_DRAW; glGenBuffers( 1, &buf.glObj ); glBindBuffer( buf.type, buf.glObj ); - glBufferData( buf.type, size, data, GL_DYNAMIC_DRAW ); + glBufferData( buf.type, size, data, buf.usage ); glBindBuffer( buf.type, 0 ); _bufferMem += size; @@ -253,9 +254,10 @@ buf.type = GL_ELEMENT_ARRAY_BUFFER; buf.size = size; + buf.usage = GL_STATIC_DRAW; glGenBuffers( 1, &buf.glObj ); glBindBuffer( buf.type, buf.glObj ); - glBufferData( buf.type, size, data, GL_DYNAMIC_DRAW ); + glBufferData( buf.type, size, data, buf.usage ); glBindBuffer( buf.type, 0 ); _bufferMem += size; @@ -285,7 +287,7 @@ if( offset == 0 && size == buf.size ) { // Replacing the whole buffer can help the driver to avoid pipeline stalls - glBufferData( buf.type, size, data, GL_DYNAMIC_DRAW ); + glBufferData( buf.type, size, data, buf.usage ); return; } Index: Horde3D/Source/Horde3DEngine/egRendererBase.h =================================================================== --- Horde3D/Source/Horde3DEngine/egRendererBase.h (revision 572) +++ Horde3D/Source/Horde3DEngine/egRendererBase.h (working copy) @@ -121,6 +121,7 @@ uint32 type; uint32 glObj; uint32 size; + uint32 usage; }; struct RDIVertBufSlot