[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