[Bf-blender-cvs] [9b9ff570955] soc-2021-simulation-display: Cleanup: Changed the place of non primitive collision shapes functions to draw_cache.c

soumya pochiraju noreply at git.blender.org
Mon Aug 16 15:15:03 CEST 2021


Commit: 9b9ff57095573f769092521265e1965a3d468285
Author: soumya pochiraju
Date:   Mon Aug 16 18:43:03 2021 +0530
Branches: soc-2021-simulation-display
https://developer.blender.org/rB9b9ff57095573f769092521265e1965a3d468285

Cleanup: Changed the place of non primitive collision shapes functions to draw_cache.c

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

M	source/blender/draw/engines/overlay/overlay_extra.c
M	source/blender/draw/intern/draw_cache.c
M	source/blender/draw/intern/draw_cache.h

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

diff --git a/source/blender/draw/engines/overlay/overlay_extra.c b/source/blender/draw/engines/overlay/overlay_extra.c
index 0a4c319a591..f4b7336ea13 100644
--- a/source/blender/draw/engines/overlay/overlay_extra.c
+++ b/source/blender/draw/engines/overlay/overlay_extra.c
@@ -383,18 +383,9 @@ static void OVERLAY_non_primitive_collision_shape(OVERLAY_ExtraCallBuffers *cb,
                   break;
               }
           }
-          if(ob->rigidbody_object->col_shape_draw_data != NULL){
-              const DRWContextState *draw_ctx = DRW_context_state_get();
-              DRW_mesh_batch_cache_validate(ob->rigidbody_object->col_shape_draw_data);
-
-              GPUBatch *geom = DRW_mesh_batch_cache_get_all_edges(ob->rigidbody_object->col_shape_draw_data);
-              if(geom){
-                  OVERLAY_extra_wire(cb, geom, ob->obmat, color);
-              }
-              struct TaskGraph *task_graph = BLI_task_graph_create();
-              DRW_mesh_batch_cache_create_requested(task_graph, ob, ob->rigidbody_object->col_shape_draw_data, draw_ctx->scene, false, false);
-              BLI_task_graph_work_and_wait(task_graph);
-              BLI_task_graph_free(task_graph);
+          GPUBatch *geom = DRW_cache_non_primitive_col_shape_get(ob);
+          if(geom){
+              OVERLAY_extra_wire(cb, geom, ob->obmat, color);
           }
     }
 
diff --git a/source/blender/draw/intern/draw_cache.c b/source/blender/draw/intern/draw_cache.c
index 2f6544bc4de..3261d30d9ed 100644
--- a/source/blender/draw/intern/draw_cache.c
+++ b/source/blender/draw/intern/draw_cache.c
@@ -3531,6 +3531,23 @@ GPUBatch *DRW_cache_cursor_get(bool crosshair_lines)
   return *drw_cursor;
 }
 
+GPUBatch *DRW_cache_non_primitive_col_shape_get(Object *ob) {
+
+    GPUBatch *geom;
+    if(ob->rigidbody_object->col_shape_draw_data != NULL){
+        const DRWContextState *draw_ctx = DRW_context_state_get();
+        DRW_mesh_batch_cache_validate(ob->rigidbody_object->col_shape_draw_data);
+
+        geom = DRW_mesh_batch_cache_get_all_edges(ob->rigidbody_object->col_shape_draw_data);
+
+        struct TaskGraph *task_graph = BLI_task_graph_create();
+        DRW_mesh_batch_cache_create_requested(task_graph, ob, ob->rigidbody_object->col_shape_draw_data, draw_ctx->scene, false, false);
+        BLI_task_graph_work_and_wait(task_graph);
+        BLI_task_graph_free(task_graph);
+    }
+    return geom;
+}
+
 /** \} */
 
 /* -------------------------------------------------------------------- */
diff --git a/source/blender/draw/intern/draw_cache.h b/source/blender/draw/intern/draw_cache.h
index 4b2d67b40cf..d7ef6cf37f2 100644
--- a/source/blender/draw/intern/draw_cache.h
+++ b/source/blender/draw/intern/draw_cache.h
@@ -264,5 +264,5 @@ struct GPUBatch *DRW_cache_gpencil_face_wireframe_get(struct Object *ob);
 struct bGPDstroke *DRW_cache_gpencil_sbuffer_stroke_data_get(struct Object *ob);
 void DRW_cache_gpencil_sbuffer_clear(struct Object *ob);
 
-/* Convex hull */
-struct GPUBatch *DRW_convex_hull_batch_get(Object *ob);
+/* Non primitive collision shapes */
+struct GPUBatch *DRW_cache_non_primitive_col_shape_get(Object *ob);



More information about the Bf-blender-cvs mailing list