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

Reply via email to