Initial commit

This commit is contained in:
kossLAN 2025-06-07 04:01:14 -04:00
commit 05cd51b54e
Signed by: kossLAN
SSH key fingerprint: SHA256:bdV0x+wdQHGJ6LgmstH3KV8OpWY+OOFmJcPcB0wQPV8
148 changed files with 10112 additions and 0 deletions

25
shaders/mask.frag Normal file
View file

@ -0,0 +1,25 @@
#version 440
layout(location = 0) in vec2 qt_TexCoord0;
layout(location = 0) out vec4 fragColor;
layout(binding = 1) uniform sampler2D source;
layout(binding = 2) uniform sampler2D mask;
layout(std140, binding = 0) uniform buf {
mat4 qt_Matrix;
float qt_Opacity;
};
void main() {
vec4 sourceColor = texture(source, qt_TexCoord0);
vec4 maskColor = texture(mask, qt_TexCoord0);
// Use the mask's luminance to determine opacity
float maskValue = dot(maskColor.rgb, vec3(0.299, 0.587, 0.114));
// Black areas of mask = transparent, white areas = opaque
sourceColor.a *= (1.0 - maskValue) * qt_Opacity;
fragColor = sourceColor;
}

BIN
shaders/mask.frag.qsb Normal file

Binary file not shown.

View file

@ -0,0 +1,18 @@
#version 440
layout(location = 0) in vec2 coord;
layout(location = 0) out vec4 fragColor;
layout(std140, binding = 0) uniform buf {
mat4 qt_Matrix;
vec4 topLeftColor;
vec4 topRightColor;
vec4 bottomLeftColor;
vec4 bottomRightColor;
} ubuf;
void main() {
vec4 topColor = mix(ubuf.topLeftColor, ubuf.topRightColor, coord.x);
vec4 bottomColor = mix(ubuf.bottomLeftColor, ubuf.bottomRightColor, coord.x);
fragColor = mix(topColor, bottomColor, coord.y);
}

Binary file not shown.

View file

@ -0,0 +1,21 @@
#version 440
layout(location = 0) in vec4 qt_Vertex;
layout(location = 1) in vec2 qt_MultiTexCoord0;
layout(location = 0) out vec2 coord;
layout(std140, binding = 0) uniform buf {
mat4 qt_Matrix;
vec4 topLeftColor;
vec4 topRightColor;
vec4 bottomLeftColor;
vec4 bottomRightColor;
} ubuf;
out gl_PerVertex { vec4 gl_Position; };
void main() {
coord = qt_MultiTexCoord0;
gl_Position = ubuf.qt_Matrix * qt_Vertex;
}

Binary file not shown.

View file

@ -0,0 +1,33 @@
#version 440
layout(location = 0) in vec2 qt_TexCoord0;
layout(location = 0) out vec4 fragColor;
layout(std140, binding = 0) uniform buf {
mat4 qt_Matrix;
float qt_Opacity;
float progress;
vec2 aspectRatio;
vec2 origin;
};
layout(binding = 1) uniform sampler2D fromImage;
layout(binding = 2) uniform sampler2D toImage;
void main() {
vec2 uv = qt_TexCoord0;
vec2 scaledUV = (uv - origin) * aspectRatio;
float distance = length(scaledUV);
vec2 maxVec = max(origin, vec2(1.0) - origin) * aspectRatio;
float maxDistance = length(maxVec);
float threshold = progress * maxDistance;
if (distance < threshold) {
fragColor = texture(toImage, uv) * qt_Opacity;
} else {
fragColor = texture(fromImage, uv) * qt_Opacity;
}
}