37 lines
1.2 KiB
GLSL
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;
|
||
|
}
|