Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2022-05-01 00:54:52 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-05-01 00:54:52 +0300
commit86b37748a7e9d685c56fc47c7aa96fdf7947d75e (patch)
tree2371a41d3b7a3b9069cbebd694a3c2ae19bff5e3 /source/blender/draw/engines/overlay/shaders
parent6e5877c189df5d6c2dfcaa44ba4c3c9a8b387998 (diff)
Overlay: Port background shaders to use shaderCreateInfo
This should have no functional changes.
Diffstat (limited to 'source/blender/draw/engines/overlay/shaders')
-rw-r--r--source/blender/draw/engines/overlay/shaders/background_frag.glsl19
-rw-r--r--source/blender/draw/engines/overlay/shaders/clipbound_vert.glsl2
-rw-r--r--source/blender/draw/engines/overlay/shaders/infos/background_info.hh25
3 files changed, 28 insertions, 18 deletions
diff --git a/source/blender/draw/engines/overlay/shaders/background_frag.glsl b/source/blender/draw/engines/overlay/shaders/background_frag.glsl
index 6b45b341ca4..b25dcae9fca 100644
--- a/source/blender/draw/engines/overlay/shaders/background_frag.glsl
+++ b/source/blender/draw/engines/overlay/shaders/background_frag.glsl
@@ -1,21 +1,6 @@
-uniform sampler2D colorBuffer;
-uniform sampler2D depthBuffer;
-uniform int bgType;
-uniform vec4 colorOverride;
-
-in vec4 uvcoordsvar;
-
-out vec4 fragColor;
-
-#define BG_SOLID 0
-#define BG_GRADIENT 1
-#define BG_CHECKER 2
-#define BG_RADIAL 3
-#define BG_SOLID_CHECKER 4
-#define BG_MASK 5
-#define SQRT2 1.4142135623730950488
+#pragma BLENDER_REQUIRE(common_math_lib.glsl)
/* 4x4 bayer matrix prepared for 8bit UNORM precision error. */
#define P(x) (((x + 0.5) * (1.0 / 16.0) - 0.5) * (1.0 / 255.0))
@@ -69,7 +54,7 @@ void main()
col_low = pow(colorBackgroundGradient.rgb, vec3(1.0 / 2.2));
vec2 uv_n = uvcoordsvar.xy - 0.5;
- bg_col = mix(col_high, col_low, length(uv_n) * SQRT2);
+ bg_col = mix(col_high, col_low, length(uv_n) * M_SQRT2);
/* Convert back to linear. */
bg_col = pow(bg_col, vec3(2.2));
diff --git a/source/blender/draw/engines/overlay/shaders/clipbound_vert.glsl b/source/blender/draw/engines/overlay/shaders/clipbound_vert.glsl
index 1bfa5dadc32..c065a66414f 100644
--- a/source/blender/draw/engines/overlay/shaders/clipbound_vert.glsl
+++ b/source/blender/draw/engines/overlay/shaders/clipbound_vert.glsl
@@ -1,5 +1,5 @@
-uniform vec3 boundbox[8];
+#pragma BLENDER_REQUIRE(common_view_lib.glsl)
void main()
{
diff --git a/source/blender/draw/engines/overlay/shaders/infos/background_info.hh b/source/blender/draw/engines/overlay/shaders/infos/background_info.hh
new file mode 100644
index 00000000000..c96d302d861
--- /dev/null
+++ b/source/blender/draw/engines/overlay/shaders/infos/background_info.hh
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include "gpu_shader_create_info.hh"
+
+GPU_SHADER_CREATE_INFO(overlay_background)
+ .do_static_compilation(true)
+ .typedef_source("overlay_shader_shared.h")
+ .sampler(0, ImageType::FLOAT_2D, "colorBuffer")
+ .sampler(1, ImageType::DEPTH_2D, "depthBuffer")
+ .push_constant(Type::INT, "bgType")
+ .push_constant(Type::VEC4, "colorOverride")
+ .fragment_source("background_frag.glsl")
+ .fragment_out(0, Type::VEC4, "fragColor")
+ .additional_info("draw_fullscreen", "draw_globals");
+
+GPU_SHADER_CREATE_INFO(overlay_clipbound)
+ .do_static_compilation(true)
+ /* NOTE: Color already in Linear space. Which is what we want. */
+ .define("srgbTarget", "false")
+ .push_constant(Type::VEC4, "color")
+ .push_constant(Type::VEC3, "boundbox", 8)
+ .vertex_source("clipbound_vert.glsl")
+ .fragment_out(0, Type::VEC4, "fragColor")
+ .fragment_source("gpu_shader_uniform_color_frag.glsl")
+ .additional_info("draw_view");