Revision: 21379
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21379
Author:   imbusy
Date:     2009-07-06 10:57:37 +0200 (Mon, 06 Jul 2009)

Log Message:
-----------
fixed a bug that caused the geometry to explode

Modified Paths:
--------------
    branches/soc-2009-imbusy/source/blender/gpu/intern/gpu_buffers.c

Modified: branches/soc-2009-imbusy/source/blender/gpu/intern/gpu_buffers.c
===================================================================
--- branches/soc-2009-imbusy/source/blender/gpu/intern/gpu_buffers.c    
2009-07-06 03:44:44 UTC (rev 21378)
+++ branches/soc-2009-imbusy/source/blender/gpu/intern/gpu_buffers.c    
2009-07-06 08:57:37 UTC (rev 21379)
@@ -58,10 +58,14 @@
        DEBUG_VBO("GPU_buffer_pool_new\n");
 
        if( useVBOs < 0 ) {
-               if( GL_ARB_vertex_buffer_object )
+               if( GL_ARB_vertex_buffer_object ) {
+                       DEBUG_VBO( "Vertex Buffer Objects supported.\n" );
                        useVBOs = 1;
-               else
+               }
+               else {
+                       DEBUG_VBO( "Vertex Buffer Objects NOT supported.\n" );
                        useVBOs = 0;
+               }
        }
 
        pool = MEM_callocN(sizeof(GPUBufferPool), "GPU_buffer_pool_new");
@@ -323,7 +327,7 @@
 
        index = MEM_mallocN(sizeof(int)*object->nmaterials,"GPU_buffer_setup");
        for( i = 0; i < object->nmaterials; i++ ) {
-               index[i] = object->materials[i].start;
+               index[i] = object->materials[i].start*3;
                redir[object->materials[i].mat_nr+127] = i;
        }
 
@@ -365,8 +369,13 @@
                glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
        }
        else {
-               varray = buffer->pointer;
-               (*copy_f)( dm, varray, index, redir, user );
+               if( buffer->pointer != 0 ) {
+                       varray = buffer->pointer;
+                       (*copy_f)( dm, varray, index, redir, user );
+               }
+               else {
+                       dm->drawObject->legacy = 1;
+               }
        }
 
        MEM_freeN(index);


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

Reply via email to