Commit: 837db36d66b6e2fc5b5f1fe54bd1caf94f4507d0
Author: Nathan Vollmer
Date:   Mon May 23 15:39:49 2016 -0600
Branches: soc-2016-pbvh-painting
https://developer.blender.org/rB837db36d66b6e2fc5b5f1fe54bd1caf94f4507d0

Copied PBVH painting from dm->drawFacesSolid to draw_mesh_paint.

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

M       source/blender/editors/space_view3d/drawmesh.c
M       source/blender/editors/space_view3d/drawobject.c

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

diff --git a/source/blender/editors/space_view3d/drawmesh.c 
b/source/blender/editors/space_view3d/drawmesh.c
index a73a055..55e0d37 100644
--- a/source/blender/editors/space_view3d/drawmesh.c
+++ b/source/blender/editors/space_view3d/drawmesh.c
@@ -69,6 +69,8 @@
 
 #include "ED_uvedit.h"
 
+#include "BKE_pbvh.h"
+
 #include "view3d_intern.h"  /* own include */
 
 /* user data structures for derived mesh callbacks */
@@ -1367,5 +1369,18 @@ void draw_mesh_paint(View3D *v3d, RegionView3D *rv3d,
                        set_inverted_drawing(0);
                }
        }
+
+       /* For drawing the PBVH */
+       if (ob->sculpt){
+               if (ob->sculpt->pbvh) {
+                       if (BKE_pbvh_has_faces(ob->sculpt->pbvh)) {
+                               float(*face_nors)[3] = 
CustomData_get_layer(&dm->polyData, CD_NORMAL);
+
+                               BKE_pbvh_draw(ob->sculpt->pbvh, NULL, face_nors,
+                                       GPU_object_material_bind, false, false);
+                               glShadeModel(GL_FLAT);
+                       }
+               }
+       }
 }
 
diff --git a/source/blender/editors/space_view3d/drawobject.c 
b/source/blender/editors/space_view3d/drawobject.c
index 6870e3f..8a347ba 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -4158,10 +4158,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, 
View3D *v3d, RegionView3D
                }
        }
        else if (dt == OB_PAINT) {
-               draw_mesh_paint(v3d, rv3d, ob, dm, draw_flags);
-
-               /* For drawing the PBVH */
-               dm->drawFacesSolid(dm, NULL, 0, GPU_object_material_bind);
+               draw_mesh_paint(v3d, rv3d, ob, dm, draw_flags, NULL, 
GPU_object_material_bind);
 
                /* since we already draw wire as wp guide, don't draw over the 
top */
                draw_wire = OBDRAW_WIRE_OFF;

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

Reply via email to