[Bf-blender-cvs] [b9132c0] wiggly-widgets: Fix widgetmap drawing.

Antony Riakiotakis noreply at git.blender.org
Sat Nov 14 00:39:18 CET 2015


Commit: b9132c0be3a21d8dff545c48c5c245b24554368e
Author: Antony Riakiotakis
Date:   Sat Nov 14 00:38:51 2015 +0100
Branches: wiggly-widgets
https://developer.blender.org/rBb9132c0be3a21d8dff545c48c5c245b24554368e

Fix widgetmap drawing.

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

M	source/blender/blenkernel/intern/cdderivedmesh.c
M	source/blender/editors/space_view3d/drawobject.c

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

diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index 54ee5c3..0177d36 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -1619,7 +1619,7 @@ static void cdDM_buffer_copy_facemap(DerivedMesh *dm, unsigned int *varray)
 
 		facemap_offset[*facemap_iter] += numtri;
 
-		for (; numtri > 0; numtri--) {
+		for (; numtri > 0; numtri--, ltri_iter++) {
 			varray[fmap_offset++] = gdo->vert_points[mloop[ltri_iter->tri[0]].v].point_index;
 			varray[fmap_offset++] = gdo->vert_points[mloop[ltri_iter->tri[1]].v].point_index;
 			varray[fmap_offset++] = gdo->vert_points[mloop[ltri_iter->tri[2]].v].point_index;
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index d7e1ca8..8a928de 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -8726,15 +8726,15 @@ void ED_draw_object_facemap(Scene *scene, struct Object *ob, int facemap)
 
 	if (dm->drawObject->facemapindices) {
 		if (dm->drawObject->facemapindices->use_vbo)
-			glDrawElements(GL_TRIANGLES, dm->drawObject->facemap_count[facemap], GL_UNSIGNED_INT,
+			glDrawElements(GL_TRIANGLES, dm->drawObject->facemap_count[facemap] * 3, GL_UNSIGNED_INT,
 			               (int *)NULL + dm->drawObject->facemap_start[facemap]);
 		else
-			glDrawElements(GL_TRIANGLES, dm->drawObject->facemap_count[facemap], GL_UNSIGNED_INT,
+			glDrawElements(GL_TRIANGLES, dm->drawObject->facemap_count[facemap] * 3, GL_UNSIGNED_INT,
 			               (int *)dm->drawObject->facemapindices->pointer + dm->drawObject->facemap_start[facemap]);
 	}
 	glPopAttrib();
 
-	GPU_buffer_unbind(dm->drawObject->facemapindices, GPU_BINDING_INDEX);
+	GPU_buffers_unbind();
 
 	glPolygonOffset(0.0, 0.0);
 	dm->release(dm);




More information about the Bf-blender-cvs mailing list