summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd/shaders
diff options
context:
space:
mode:
authorBastiaan Olij <mux213@gmail.com>2021-09-07 09:21:13 +1000
committerGitHub <noreply@github.com>2021-09-07 09:21:13 +1000
commit461d31427c39776ba1bda631f1ce1726c71559a0 (patch)
tree669416b4f423a4c6a066f2aca9d2d07862b311d5 /servers/rendering/renderer_rd/shaders
parent76b83ff615fed6c77766778ad74d277c72dc054b (diff)
parentfbac863bfbe7590cdd30a7e182c67ab372f4e49f (diff)
downloadredot-engine-461d31427c39776ba1bda631f1ce1726c71559a0.tar.gz
Merge pull request #52205 from BastiaanOlij/blit_source_rect
Add source rectangle to blit
Diffstat (limited to 'servers/rendering/renderer_rd/shaders')
-rw-r--r--servers/rendering/renderer_rd/shaders/blit.glsl6
1 files changed, 4 insertions, 2 deletions
diff --git a/servers/rendering/renderer_rd/shaders/blit.glsl b/servers/rendering/renderer_rd/shaders/blit.glsl
index 967da1e6e4..8051f96738 100644
--- a/servers/rendering/renderer_rd/shaders/blit.glsl
+++ b/servers/rendering/renderer_rd/shaders/blit.glsl
@@ -5,6 +5,7 @@
#VERSION_DEFINES
layout(push_constant, binding = 0, std140) uniform Pos {
+ vec4 src_rect;
vec4 dst_rect;
vec2 eye_center;
@@ -22,8 +23,8 @@ layout(location = 0) out vec2 uv;
void main() {
vec2 base_arr[4] = vec2[](vec2(0.0, 0.0), vec2(0.0, 1.0), vec2(1.0, 1.0), vec2(1.0, 0.0));
- uv = base_arr[gl_VertexIndex];
- vec2 vtx = data.dst_rect.xy + uv * data.dst_rect.zw;
+ uv = data.src_rect.xy + base_arr[gl_VertexIndex] * data.src_rect.zw;
+ vec2 vtx = data.dst_rect.xy + base_arr[gl_VertexIndex] * data.dst_rect.zw;
gl_Position = vec4(vtx * 2.0 - 1.0, 0.0, 1.0);
}
@@ -34,6 +35,7 @@ void main() {
#VERSION_DEFINES
layout(push_constant, binding = 0, std140) uniform Pos {
+ vec4 src_rect;
vec4 dst_rect;
vec2 eye_center;