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-04-30 19:25:05 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-04-30 19:25:05 +0300
commit669349bfe4d1fec0ee835dc56b652c7a638622ef (patch)
tree84736af35bd47f73352d90fe4b5e67cbdd32febf
parentb95601fa1ac4a826c7fc077852f41906cf3f1f26 (diff)
Overlay: Port edit uv shaders to use shaderCreateInfo
This should have no functional changes. Removed `antialiasing_vert.glsl` becaus it was actually a duplicate of `common_fullscreen_vert.glsl`.
-rw-r--r--source/blender/draw/CMakeLists.txt1
-rw-r--r--source/blender/draw/engines/overlay/overlay_shader.c15
-rw-r--r--source/blender/draw/engines/overlay/shaders/antialiasing_frag.glsl9
-rw-r--r--source/blender/draw/engines/overlay/shaders/antialiasing_vert.glsl11
-rw-r--r--source/blender/draw/engines/overlay/shaders/infos/antialiasing_info.hh22
-rw-r--r--source/blender/draw/engines/overlay/shaders/xray_fade_frag.glsl8
-rw-r--r--source/blender/gpu/CMakeLists.txt1
7 files changed, 25 insertions, 42 deletions
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index 68c1671b1bf..9036ca9cd50 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -428,7 +428,6 @@ set(GLSL_SRC
engines/overlay/shaders/common_overlay_lib.glsl
engines/overlay/shaders/antialiasing_frag.glsl
- engines/overlay/shaders/antialiasing_vert.glsl
engines/overlay/shaders/armature_dof_vert.glsl
engines/overlay/shaders/armature_dof_solid_frag.glsl
engines/overlay/shaders/armature_envelope_outline_vert.glsl
diff --git a/source/blender/draw/engines/overlay/overlay_shader.c b/source/blender/draw/engines/overlay/overlay_shader.c
index 868e5c6715a..9d180f7fb8d 100644
--- a/source/blender/draw/engines/overlay/overlay_shader.c
+++ b/source/blender/draw/engines/overlay/overlay_shader.c
@@ -238,15 +238,7 @@ GPUShader *OVERLAY_shader_antialiasing(void)
{
OVERLAY_Shaders *sh_data = &e_data.sh_data[0];
if (!sh_data->antialiasing) {
- sh_data->antialiasing = GPU_shader_create_from_arrays({
- .vert = (const char *[]){datatoc_common_globals_lib_glsl,
- datatoc_antialiasing_vert_glsl,
- NULL},
- .frag = (const char *[]){datatoc_common_globals_lib_glsl,
- datatoc_antialiasing_frag_glsl,
- NULL},
- .defs = (const char *[]){NULL},
- });
+ sh_data->antialiasing = GPU_shader_create_from_info_name("overlay_antialiasing");
}
return sh_data->antialiasing;
}
@@ -1299,10 +1291,7 @@ GPUShader *OVERLAY_shader_xray_fade(void)
{
OVERLAY_Shaders *sh_data = &e_data.sh_data[0];
if (!sh_data->xray_fade) {
- sh_data->xray_fade = GPU_shader_create_from_arrays({
- .vert = (const char *[]){datatoc_common_fullscreen_vert_glsl, NULL},
- .frag = (const char *[]){datatoc_xray_fade_frag_glsl, NULL},
- });
+ sh_data->xray_fade = GPU_shader_create_from_info_name("overlay_xray_fade");
}
return sh_data->xray_fade;
}
diff --git a/source/blender/draw/engines/overlay/shaders/antialiasing_frag.glsl b/source/blender/draw/engines/overlay/shaders/antialiasing_frag.glsl
index 2f4542343f7..f28a809fdab 100644
--- a/source/blender/draw/engines/overlay/shaders/antialiasing_frag.glsl
+++ b/source/blender/draw/engines/overlay/shaders/antialiasing_frag.glsl
@@ -1,15 +1,6 @@
#pragma BLENDER_REQUIRE(common_math_lib.glsl)
-uniform sampler2D colorTex;
-uniform depth2D depthTex;
-uniform sampler2D lineTex;
-uniform bool doSmoothLines;
-
-in vec2 uvs;
-
-out vec4 fragColor;
-
#define M_1_SQRTPI 0.5641895835477563 /* 1/sqrt(pi) */
/**
diff --git a/source/blender/draw/engines/overlay/shaders/antialiasing_vert.glsl b/source/blender/draw/engines/overlay/shaders/antialiasing_vert.glsl
deleted file mode 100644
index 8cf8ba121ed..00000000000
--- a/source/blender/draw/engines/overlay/shaders/antialiasing_vert.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-
-out vec2 uvs;
-
-void main()
-{
- int v = gl_VertexID % 3;
- float x = float((v & 1) << 2);
- float y = float((v & 2) << 1);
- gl_Position = vec4(x - 1.0, y - 1.0, 1.0, 1.0);
- uvs = vec2(x, y) * 0.5;
-}
diff --git a/source/blender/draw/engines/overlay/shaders/infos/antialiasing_info.hh b/source/blender/draw/engines/overlay/shaders/infos/antialiasing_info.hh
new file mode 100644
index 00000000000..fe67dd473b7
--- /dev/null
+++ b/source/blender/draw/engines/overlay/shaders/infos/antialiasing_info.hh
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include "gpu_shader_create_info.hh"
+
+GPU_SHADER_CREATE_INFO(overlay_antialiasing)
+ .do_static_compilation(true)
+ .sampler(0, ImageType::DEPTH_2D, "depthTex")
+ .sampler(1, ImageType::FLOAT_2D, "colorTex")
+ .sampler(2, ImageType::FLOAT_2D, "lineTex")
+ .push_constant(Type::BOOL, "doSmoothLines")
+ .fragment_out(0, Type::VEC4, "fragColor")
+ .fragment_source("antialiasing_frag.glsl")
+ .additional_info("draw_fullscreen", "draw_globals");
+
+GPU_SHADER_CREATE_INFO(overlay_xray_fade)
+ .do_static_compilation(true)
+ .sampler(0, ImageType::DEPTH_2D, "depthTex")
+ .sampler(1, ImageType::DEPTH_2D, "xrayDepthTex")
+ .push_constant(Type::FLOAT, "opacity")
+ .fragment_out(0, Type::VEC4, "fragColor")
+ .fragment_source("xray_fade_frag.glsl")
+ .additional_info("draw_fullscreen");
diff --git a/source/blender/draw/engines/overlay/shaders/xray_fade_frag.glsl b/source/blender/draw/engines/overlay/shaders/xray_fade_frag.glsl
index b6a5c8d895c..9aa2fdc3796 100644
--- a/source/blender/draw/engines/overlay/shaders/xray_fade_frag.glsl
+++ b/source/blender/draw/engines/overlay/shaders/xray_fade_frag.glsl
@@ -1,12 +1,4 @@
-uniform sampler2D depthTex;
-uniform sampler2D xrayDepthTex;
-uniform float opacity;
-
-in vec4 uvcoordsvar;
-
-out vec4 fragColor;
-
void main()
{
float depth = texture(depthTex, uvcoordsvar.xy).r;
diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt
index e72ed9d6135..687ecd3ab63 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -443,6 +443,7 @@ list(APPEND INC ${CMAKE_CURRENT_BINARY_DIR})
set(SRC_SHADER_CREATE_INFOS
../draw/engines/gpencil/shaders/infos/gpencil_info.hh
../draw/engines/gpencil/shaders/infos/gpencil_vfx_info.hh
+ ../draw/engines/overlay/shaders/infos/antialiasing_info.hh
../draw/engines/overlay/shaders/infos/armature_info.hh
../draw/engines/overlay/shaders/infos/extra_info.hh
../draw/engines/overlay/shaders/infos/grid_info.hh