[Bf-blender-cvs] [58abcc1cd4c] temp-T95933-object-mode-curve-selection: Add support for clipping planes

Jeroen Bakker noreply at git.blender.org
Tue Jun 28 15:35:03 CEST 2022


Commit: 58abcc1cd4c42b9fb12df0b1c93d13c9931ee356
Author: Jeroen Bakker
Date:   Tue Jun 28 12:10:30 2022 +0200
Branches: temp-T95933-object-mode-curve-selection
https://developer.blender.org/rB58abcc1cd4c42b9fb12df0b1c93d13c9931ee356

Add support for clipping planes

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

M	source/blender/draw/engines/overlay/overlay_shader.c
M	source/blender/draw/engines/overlay/shaders/infos/overlay_outline_info.hh
M	source/blender/draw/tests/shaders_test.cc

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

diff --git a/source/blender/draw/engines/overlay/overlay_shader.c b/source/blender/draw/engines/overlay/overlay_shader.c
index 115d87cf58c..42977b18f7c 100644
--- a/source/blender/draw/engines/overlay/overlay_shader.c
+++ b/source/blender/draw/engines/overlay/overlay_shader.c
@@ -657,7 +657,7 @@ GPUShader *OVERLAY_shader_outline_prepass_curves()
   OVERLAY_Shaders *sh_data = &e_data.sh_data[draw_ctx->sh_cfg];
   if (!sh_data->outline_prepass_curves) {
     sh_data->outline_prepass_curves = GPU_shader_create_from_info_name(
-        // draw_ctx->sh_cfg ? "overlay_outline_prepass_curves_clipped" :
+        draw_ctx->sh_cfg ? "overlay_outline_prepass_curves_clipped" :
         "overlay_outline_prepass_curves");
   }
   return sh_data->outline_prepass_curves;
diff --git a/source/blender/draw/engines/overlay/shaders/infos/overlay_outline_info.hh b/source/blender/draw/engines/overlay/shaders/infos/overlay_outline_info.hh
index 05286d21b55..288fb3b3cbd 100644
--- a/source/blender/draw/engines/overlay/shaders/infos/overlay_outline_info.hh
+++ b/source/blender/draw/engines/overlay/shaders/infos/overlay_outline_info.hh
@@ -35,6 +35,10 @@ GPU_SHADER_CREATE_INFO(overlay_outline_prepass_curves)
     .additional_info("draw_hair", "overlay_outline_prepass")
     .additional_info("draw_object_infos");
 
+GPU_SHADER_CREATE_INFO(overlay_outline_prepass_curves_clipped)
+    .do_static_compilation(true)
+    .additional_info("overlay_outline_prepass_curves", "drw_clipped");
+
 GPU_SHADER_CREATE_INFO(overlay_outline_prepass_wire)
     .do_static_compilation(true)
     .define("USE_GEOM")
diff --git a/source/blender/draw/tests/shaders_test.cc b/source/blender/draw/tests/shaders_test.cc
index a04e5042c3d..b3805e962ad 100644
--- a/source/blender/draw/tests/shaders_test.cc
+++ b/source/blender/draw/tests/shaders_test.cc
@@ -256,6 +256,7 @@ static void test_overlay_glsl_shaders()
     EXPECT_NE(OVERLAY_shader_uniform_color(), nullptr);
     EXPECT_NE(OVERLAY_shader_outline_prepass(false), nullptr);
     EXPECT_NE(OVERLAY_shader_outline_prepass(true), nullptr);
+    EXPECT_NE(OVERLAY_shader_outline_prepass_curves(), nullptr);
     EXPECT_NE(OVERLAY_shader_outline_prepass_gpencil(), nullptr);
     EXPECT_NE(OVERLAY_shader_outline_prepass_pointcloud(), nullptr);
     EXPECT_NE(OVERLAY_shader_extra_grid(), nullptr);



More information about the Bf-blender-cvs mailing list