[Bf-blender-cvs] [2ff9688677d] tmp-gpu-shader-descriptor-2: Migrated GPU_SHADER_KEYFRAME_SHAPE.

Jeroen Bakker noreply at git.blender.org
Fri Jan 7 12:06:06 CET 2022


Commit: 2ff9688677dd5c5c153220bd8e91bda5f5f4d9bd
Author: Jeroen Bakker
Date:   Fri Jan 7 09:30:50 2022 +0100
Branches: tmp-gpu-shader-descriptor-2
https://developer.blender.org/rB2ff9688677dd5c5c153220bd8e91bda5f5f4d9bd

Migrated GPU_SHADER_KEYFRAME_SHAPE.

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

M	source/blender/gpu/CMakeLists.txt
M	source/blender/gpu/shaders/gpu_shader_keyframe_shape_frag.glsl
M	source/blender/gpu/shaders/gpu_shader_keyframe_shape_vert.glsl
A	source/blender/gpu/shaders/infos/gpu_shader_keyframe_shape_info.hh

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

diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt
index 8c54ee3f04f..92045abda93 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -410,14 +410,18 @@ list(APPEND SRC ${glsl_source_list_file})
 list(APPEND INC ${CMAKE_CURRENT_BINARY_DIR})
 
 set(SHADER_CREATE_INFOS
-../draw/engines/workbench/shaders/workbench_effect_cavity_info.hh
-../draw/engines/workbench/shaders/workbench_prepass_info.hh
+#../draw/engines/workbench/shaders/workbench_effect_cavity_info.hh
+#../draw/engines/workbench/shaders/workbench_prepass_info.hh
 ../draw/intern/shaders/draw_fullscreen_info.hh
 ../draw/intern/shaders/draw_view_info.hh
 ../draw/intern/shaders/draw_object_infos_info.hh
-shaders/infos/gpu_shader_3D_flat_color_info.hh
-shaders/infos/gpu_shader_3D_image_modulate_alpha_info.hh
+
 shaders/infos/gpu_clip_planes_info.hh
+shaders/infos/gpu_srgb_to_framebuffer_space_info.hh
+#shaders/infos/gpu_shader_3D_flat_color_info.hh
+shaders/infos/gpu_shader_3D_image_modulate_alpha_info.hh
+shaders/infos/gpu_shader_text_info.hh
+shaders/infos/gpu_shader_keyframe_shape_info.hh
 )
 
 set(SHADER_CREATE_INFOS_CONTENT "")
diff --git a/source/blender/gpu/shaders/gpu_shader_keyframe_shape_frag.glsl b/source/blender/gpu/shaders/gpu_shader_keyframe_shape_frag.glsl
index a3b61dca8b4..2a2eaab7340 100644
--- a/source/blender/gpu/shaders/gpu_shader_keyframe_shape_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_keyframe_shape_frag.glsl
@@ -11,6 +11,7 @@
 #define GPU_KEYFRAME_SHAPE_SQUARE \
   (GPU_KEYFRAME_SHAPE_CLIPPED_VERTICAL | GPU_KEYFRAME_SHAPE_CLIPPED_HORIZONTAL)
 
+#ifndef USE_GPU_SHADER_CREATE_INFO
 flat in vec4 radii;
 flat in vec4 thresholds;
 
@@ -20,6 +21,7 @@ flat in vec4 finalOutlineColor;
 flat in int finalFlags;
 
 out vec4 fragColor;
+#endif
 
 const float diagonal_scale = sqrt(0.5);
 
diff --git a/source/blender/gpu/shaders/gpu_shader_keyframe_shape_vert.glsl b/source/blender/gpu/shaders/gpu_shader_keyframe_shape_vert.glsl
index 18e8b76ba23..4ef3ff1a8d0 100644
--- a/source/blender/gpu/shaders/gpu_shader_keyframe_shape_vert.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_keyframe_shape_vert.glsl
@@ -11,15 +11,16 @@
 #define GPU_KEYFRAME_SHAPE_SQUARE \
   (GPU_KEYFRAME_SHAPE_CLIPPED_VERTICAL | GPU_KEYFRAME_SHAPE_CLIPPED_HORIZONTAL)
 
-uniform mat4 ModelViewProjectionMatrix;
-uniform vec2 ViewportSize = vec2(-1, -1);
-uniform float outline_scale = 1.0;
-
 const float line_falloff = 1.0;
 const float circle_scale = sqrt(2.0 / 3.1416);
 const float square_scale = sqrt(0.5);
 const float diagonal_scale = sqrt(0.5);
 
+#ifndef USE_GPU_SHADER_CREATE_INFO
+uniform mat4 ModelViewProjectionMatrix;
+uniform vec2 ViewportSize = vec2(-1, -1);
+uniform float outline_scale = 1.0;
+
 in vec2 pos;
 in float size;
 in vec4 color;
@@ -33,6 +34,7 @@ flat out int finalFlags;
 
 flat out vec4 radii;
 flat out vec4 thresholds;
+#endif
 
 bool test(int bit)
 {
diff --git a/source/blender/gpu/shaders/infos/gpu_shader_keyframe_shape_info.hh b/source/blender/gpu/shaders/infos/gpu_shader_keyframe_shape_info.hh
new file mode 100644
index 00000000000..7b4d3ec9e10
--- /dev/null
+++ b/source/blender/gpu/shaders/infos/gpu_shader_keyframe_shape_info.hh
@@ -0,0 +1,23 @@
+#include "gpu_shader_create_info.hh"
+
+GPU_SHADER_INTERFACE_INFO(keyframe_shape_iface, "")
+    .flat(Type::VEC4, "finalColor")
+    .flat(Type::VEC4, "finalOutlineColor")
+    .flat(Type::VEC4, "radii")
+    .flat(Type::VEC4, "thresholds")
+    .flat(Type::INT, "finalFlags");
+
+GPU_SHADER_CREATE_INFO(gpu_shader_keyframe_shape)
+    .vertex_in(0, Type::VEC4, "color")
+    .vertex_in(1, Type::VEC4, "outlineColor")
+    .vertex_in(2, Type::VEC2, "pos")
+    .vertex_in(3, Type::FLOAT, "size")
+    .vertex_in(4, Type ::INT, "flags")
+    .vertex_out(keyframe_shape_iface)
+    .fragment_out(0, Type::VEC4, "fragColor")
+    .push_constant(0, Type::MAT4, "ModelViewProjectionMatrix")
+    .push_constant(16, Type::VEC2, "ViewportSize")
+    .push_constant(24, Type::FLOAT, "outline_scale")
+    .vertex_source("gpu_shader_keyframe_shape_vert.glsl")
+    .fragment_source("gpu_shader_keyframe_shape_frag.glsl")
+    .do_static_compilation(true);
\ No newline at end of file



More information about the Bf-blender-cvs mailing list