[Bf-blender-cvs] [48302ae] wiggly-widgets: Fix some potential bugs in facemap drawing code

Julian Eisel noreply at git.blender.org
Wed Sep 16 16:38:33 CEST 2015


Commit: 48302aec4aee365e6df8e186b7568aa9fd04d698
Author: Julian Eisel
Date:   Wed Sep 16 16:35:01 2015 +0200
Branches: wiggly-widgets
https://developer.blender.org/rB48302aec4aee365e6df8e186b7568aa9fd04d698

Fix some potential bugs in facemap drawing code

===================================================================

M	source/blender/blenkernel/intern/cdderivedmesh.c
M	source/blender/gpu/intern/gpu_buffers.c

===================================================================

diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index c782fa7..1b3fd5e 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -1661,6 +1661,7 @@ static void cdDM_copy_gpu_data(
 			break;
 		case GPU_BUFFER_FACEMAP:
 			cdDM_buffer_copy_facemap(dm, (unsigned int *)varray_p);
+			break;
 		default:
 			break;
 	}
diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index 2c434fb..0f04504 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -95,6 +95,8 @@ const GPUBufferTypeSettings gpu_buffer_type_settings[] = {
     {GL_ELEMENT_ARRAY_BUFFER_ARB, 4},
     /* triangles, 1 point since we are allocating from tottriangle points, which account for all points */
     {GL_ELEMENT_ARRAY_BUFFER_ARB, 1},
+    /* facemap */
+    {GL_ELEMENT_ARRAY_BUFFER_ARB, 3},
 };
 
 #define MAX_GPU_ATTRIB_DATA 32
@@ -657,7 +659,7 @@ static size_t gpu_buffer_size_from_type(DerivedMesh *dm, GPUBufferType type)
 		case GPU_BUFFER_TRIANGLES:
 			return sizeof(int) * gpu_buffer_type_settings[type].num_components * dm->drawObject->tot_triangle_point;
 		case GPU_BUFFER_FACEMAP:
-			return sizeof(int) * 3 * dm->drawObject->tot_triangle_point;
+			return sizeof(int) * gpu_buffer_type_settings[type].num_components * dm->drawObject->tot_triangle_point;
 		default:
 			return -1;
 	}




More information about the Bf-blender-cvs mailing list