[Bf-blender-cvs] [c795505a2c7] blender2.8: Cleanup: dyntopo sculpt draw update: use same BM_face_as_array_vert_tri for indexbuf generation.

Bastien Montagne noreply at git.blender.org
Tue Jun 26 11:43:28 CEST 2018


Commit: c795505a2c751e1396029c8797af79e1b5b98447
Author: Bastien Montagne
Date:   Tue Jun 26 11:41:59 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBc795505a2c751e1396029c8797af79e1b5b98447

Cleanup: dyntopo sculpt draw update: use same BM_face_as_array_vert_tri for indexbuf generation.

It's cleaner, and actually assert that BMFace is a triangle. Same code
as when generating vertexbuf for flat shading!

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

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

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

diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index 462785a5dcb..688386810ea 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -908,13 +908,11 @@ void GPU_pbvh_bmesh_buffers_update(
 				BMFace *f = BLI_gsetIterator_getKey(&gs_iter);
 
 				if (!BM_elem_flag_test(f, BM_ELEM_HIDDEN)) {
-					BMLoop *l_iter;
-					BMLoop *l_first;
+					BMVert *v[3];
 
-					l_iter = l_first = BM_FACE_FIRST_LOOP(f);
-					do {
-						GWN_indexbuf_add_generic_vert(&elb, BM_elem_index_get(l_iter->v));
-					} while ((l_iter = l_iter->next) != l_first);
+					BM_face_as_array_vert_tri(f, v);
+					GWN_indexbuf_add_tri_verts(
+					            &elb, BM_elem_index_get(v[0]), BM_elem_index_get(v[1]), BM_elem_index_get(v[2]));
 				}
 			}



More information about the Bf-blender-cvs mailing list