Revision: 38840
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38840
Author: kupoman
Date: 2011-07-29 22:54:53 +0000 (Fri, 29 Jul 2011)
Log Message:
-----------
VBOs now work properly with multiple UVs.
Modified Paths:
--------------
branches/soc-2011-cucumber/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
Modified:
branches/soc-2011-cucumber/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
===================================================================
---
branches/soc-2011-cucumber/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
2011-07-29 22:18:00 UTC (rev 38839)
+++
branches/soc-2011-cucumber/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
2011-07-29 22:54:53 UTC (rev 38840)
@@ -50,7 +50,7 @@
// Generate Buffers
glGenBuffersARB(1, &this->vertex);
glGenBuffersARB(1, &this->normal);
- glGenBuffersARB(2, this->UV);
+ glGenBuffersARB(RAS_TexVert::MAX_UNIT, this->UV);
glGenBuffersARB(1, &this->tangent);
glGenBuffersARB(1, &this->ibo);
glGenBuffersARB(1, &this->dummy);
@@ -126,7 +126,7 @@
{
GLfloat* uvs;
- int space = this->size*2*sizeof(GLfloat)*RAS_TexVert::MAX_UNIT;
+ int space = this->size*2*sizeof(GLfloat);
for (int uv=0; uv<RAS_TexVert::MAX_UNIT; ++uv)
{
@@ -246,6 +246,7 @@
if (GLEW_ARB_vertex_program)
{
+ int uv = 0;
for (int unit=0; unit<attrib_num; ++unit)
{
switch(attrib[unit])
@@ -257,7 +258,7 @@
glEnableVertexAttribArrayARB(unit);
break;
case RAS_IRasterizer::RAS_TEXCO_UV:
- glBindBufferARB(GL_ARRAY_BUFFER_ARB,
this->UV[unit-1]);
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB,
this->UV[uv++]);
glVertexAttribPointerARB(unit, 2,
GL_FLOAT, GL_FALSE, 0, 0);
glEnableVertexAttribArrayARB(unit);
break;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs