Learning_GTK4_tree/gsk/vulkan/resources/cross-fade.vert

37 lines
1.2 KiB
GLSL

#version 450
#include "common.vert.glsl"
#include "rect.vert.glsl"
layout(location = 0) in vec4 inRect;
layout(location = 1) in vec4 inStartRect;
layout(location = 2) in vec4 inEndRect;
layout(location = 3) in vec4 inStartTexRect;
layout(location = 4) in vec4 inEndTexRect;
layout(location = 5) in uint inStartTexId;
layout(location = 6) in uint inEndTexId;
layout(location = 7) in float inProgress;
layout(location = 0) out vec2 outPos;
layout(location = 1) flat out Rect outStartRect;
layout(location = 2) flat out Rect outEndRect;
layout(location = 3) out vec2 outStartTexCoord;
layout(location = 4) out vec2 outEndTexCoord;
layout(location = 5) flat out uint outStartTexId;
layout(location = 6) flat out uint outEndTexId;
layout(location = 7) flat out float outProgress;
void main() {
Rect r = rect_from_gsk (inRect);
vec2 pos = set_position_from_rect (r);
outPos = pos;
outStartRect = rect_from_gsk (inStartRect);
outEndRect = rect_from_gsk (inEndRect);
outStartTexCoord = scale_tex_coord (pos, r, inStartTexRect);
outEndTexCoord = scale_tex_coord (pos, r, inEndTexRect);
outStartTexId = inStartTexId;
outEndTexId = inEndTexId;
outProgress = inProgress;
}