0
0
mirror of https://github.com/Wurst-Imperium/Wurst7.git synced 2024-09-19 17:02:13 +02:00

Fix LSD not working anymore

This commit is contained in:
Alexander01998 2024-05-06 19:49:09 +02:00
parent 00823b6eb0
commit 840b121627
4 changed files with 164 additions and 1 deletions

View File

@ -35,7 +35,7 @@ public final class LsdHack extends Hack
MC.gameRenderer.disablePostProcessor();
MC.gameRenderer
.loadPostProcessor(new Identifier("shaders/post/wobble.json"));
.loadPostProcessor(new Identifier("shaders/post/lsd.json"));
}
@Override

View File

@ -0,0 +1,17 @@
{
"targets": [
"swap"
],
"passes": [
{
"name": "lsd",
"intarget": "minecraft:main",
"outtarget": "swap"
},
{
"name": "blit",
"intarget": "swap",
"outtarget": "minecraft:main"
}
]
}

View File

@ -0,0 +1,60 @@
#version 150
uniform sampler2D DiffuseSampler;
in vec2 texCoord;
in vec2 oneTexel;
uniform vec2 InSize;
uniform float Time;
uniform vec2 Frequency;
uniform vec2 WobbleAmount;
out vec4 fragColor;
vec3 hue(float h)
{
float r = abs(h * 6.0 - 3.0) - 1.0;
float g = 2.0 - abs(h * 6.0 - 2.0);
float b = 2.0 - abs(h * 6.0 - 4.0);
return clamp(vec3(r,g,b), 0.0, 1.0);
}
vec3 HSVtoRGB(vec3 hsv) {
return ((hue(hsv.x) - 1.0) * hsv.y + 1.0) * hsv.z;
}
vec3 RGBtoHSV(vec3 rgb) {
vec3 hsv = vec3(0.0);
hsv.z = max(rgb.r, max(rgb.g, rgb.b));
float min = min(rgb.r, min(rgb.g, rgb.b));
float c = hsv.z - min;
if (c != 0.0)
{
hsv.y = c / hsv.z;
vec3 delta = (hsv.z - rgb) / c;
delta.rgb -= delta.brg;
delta.rg += vec2(2.0, 4.0);
if (rgb.r >= hsv.z) {
hsv.x = delta.b;
} else if (rgb.g >= hsv.z) {
hsv.x = delta.r;
} else {
hsv.x = delta.g;
}
hsv.x = fract(hsv.x / 6.0);
}
return hsv;
}
void main() {
float xOffset = sin(texCoord.y * Frequency.x + Time * 3.1415926535 * 2.0) * WobbleAmount.x;
float yOffset = cos(texCoord.x * Frequency.y + Time * 3.1415926535 * 2.0) * WobbleAmount.y;
vec2 offset = vec2(xOffset, yOffset);
vec4 rgb = texture(DiffuseSampler, texCoord + offset);
vec3 hsv = RGBtoHSV(rgb.rgb);
hsv.x = fract(hsv.x + Time);
fragColor = vec4(HSVtoRGB(hsv), 1.0);
}

View File

@ -0,0 +1,86 @@
{
"blend": {
"func": "add",
"srcrgb": "one",
"dstrgb": "zero"
},
"vertex": "sobel",
"fragment": "lsd",
"attributes": [
"Position"
],
"samplers": [
{
"name": "DiffuseSampler"
}
],
"uniforms": [
{
"name": "ProjMat",
"type": "matrix4x4",
"count": 16,
"values": [
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0
]
},
{
"name": "InSize",
"type": "float",
"count": 2,
"values": [
1.0,
1.0
]
},
{
"name": "OutSize",
"type": "float",
"count": 2,
"values": [
1.0,
1.0
]
},
{
"name": "Time",
"type": "float",
"count": 1,
"values": [
0.0
]
},
{
"name": "Frequency",
"type": "float",
"count": 2,
"values": [
512.0,
288.0
]
},
{
"name": "WobbleAmount",
"type": "float",
"count": 2,
"values": [
0.002,
0.002
]
}
]
}