[Bf-blender-cvs] [2fc136427d5] master: Fix T101451: curve attribute overlay disappears when origin is out of view

Jacques Lucke noreply at git.blender.org
Thu Sep 29 11:12:22 CEST 2022


Commit: 2fc136427d553c4123d6704a6c854769e12f8b96
Author: Jacques Lucke
Date:   Thu Sep 29 11:11:28 2022 +0200
Branches: master
https://developer.blender.org/rB2fc136427d553c4123d6704a6c854769e12f8b96

Fix T101451: curve attribute overlay disappears when origin is out of view

The core issue seems to be that `BKE_curve_minmax` does not create the
correct bounding box for `Curve` data passed to the render engine.
That's because this `Curve` object does not contain the legacy curve
data structure.

Fixing this will likely require some more consideration, so this fix just
avoids the culling check for now, which is actually also done in
`OVERLAY_extra_wire` using the same approach.

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

M	source/blender/draw/engines/overlay/overlay_viewer_attribute.cc

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

diff --git a/source/blender/draw/engines/overlay/overlay_viewer_attribute.cc b/source/blender/draw/engines/overlay/overlay_viewer_attribute.cc
index 7e1949c5261..d57ea08d888 100644
--- a/source/blender/draw/engines/overlay/overlay_viewer_attribute.cc
+++ b/source/blender/draw/engines/overlay/overlay_viewer_attribute.cc
@@ -92,7 +92,7 @@ static void populate_cache_for_instance(Object &object,
       DRWShadingGroup *sub_grp = DRW_shgroup_create_sub(pd.viewer_attribute_instance_grp);
       DRW_shgroup_uniform_vec4_copy(sub_grp, "ucolor", color);
       GPUBatch *batch = DRW_cache_curve_edge_wire_get(&object);
-      DRW_shgroup_call(sub_grp, batch, &object);
+      DRW_shgroup_call_obmat(sub_grp, batch, object.obmat);
       break;
     }
     case OB_CURVES: {
@@ -135,7 +135,7 @@ static void populate_cache_for_geometry(Object &object,
       if (curves.attributes().contains(".viewer")) {
         GPUBatch *batch = DRW_cache_curve_edge_wire_viewer_attribute_get(&object);
         DRW_shgroup_uniform_float_copy(pd.viewer_attribute_curve_grp, "opacity", opacity);
-        DRW_shgroup_call(pd.viewer_attribute_curve_grp, batch, &object);
+        DRW_shgroup_call_obmat(pd.viewer_attribute_curve_grp, batch, object.obmat);
       }
       break;
     }



More information about the Bf-blender-cvs mailing list