diff options
author | BuildTools <james.jenour@protonmail.com> | 2021-02-16 03:08:30 +0800 |
---|---|---|
committer | BuildTools <james.jenour@protonmail.com> | 2021-02-16 03:08:30 +0800 |
commit | a0e7d174472d034142003e58a42d6beefe36a92b (patch) | |
tree | 37fbdf5c5c3af3e85ed05e6e17d64207b2a6d8c9 /src/main/resources/assets/notenoughupdates/shaders/capes/negative/negative.frag | |
parent | 6024bdf69193ad216e95fca53d7d28746f4269e0 (diff) | |
download | NotEnoughUpdates-a0e7d174472d034142003e58a42d6beefe36a92b.tar.gz NotEnoughUpdates-a0e7d174472d034142003e58a42d6beefe36a92b.tar.bz2 NotEnoughUpdates-a0e7d174472d034142003e58a42d6beefe36a92b.zip |
PRE21
Diffstat (limited to 'src/main/resources/assets/notenoughupdates/shaders/capes/negative/negative.frag')
-rw-r--r-- | src/main/resources/assets/notenoughupdates/shaders/capes/negative/negative.frag | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/resources/assets/notenoughupdates/shaders/capes/negative/negative.frag b/src/main/resources/assets/notenoughupdates/shaders/capes/negative/negative.frag new file mode 100644 index 00000000..a601bd0c --- /dev/null +++ b/src/main/resources/assets/notenoughupdates/shaders/capes/negative/negative.frag @@ -0,0 +1,33 @@ +#version 130 + +varying vec4 passColour; +varying vec3 passNormal; +uniform sampler2D textureIn; +varying vec4 passPosition; +uniform vec2 screensize; + +int a(float f) { + return int(round(f*1999)); +} + +void main() { + vec2 viewportCoord = gl_FragCoord.xy/screensize.xy; + vec4 texture = texture2D(textureIn, viewportCoord); + + int offsetFactor = a(viewportCoord.x)^a(viewportCoord.y); + float dist = 1+mod(offsetFactor/4, 2); + float xOffset = dist*mod(offsetFactor-1, 2); + float yOffset = dist*mod(offsetFactor-2, 2); + + texture = texture2D(textureIn, vec2(viewportCoord.x+xOffset/screensize.x, viewportCoord.y+yOffset/screensize.y)); + texture = vec4(texture.rgb*texture.a, 1); + texture.rgb = 1 - texture.rgb; + + gl_FragColor = texture * passColour; + + vec3 fakeSunNormal = normalize(vec3(0.2f,1.0f,-0.2f)); + vec3 normNormal = normalize(passNormal); + float shading = max(0.6f, dot(fakeSunNormal, normNormal)); + + gl_FragColor = vec4(gl_FragColor.rgb*shading, 1); +}
\ No newline at end of file |