diff --git a/Enhancements/TwilightPrincessHD_Bloom/49865bd2e62efda1_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Bloom/49865bd2e62efda1_0000000000000079_ps.txt deleted file mode 100644 index 55b7ae72..00000000 --- a/Enhancements/TwilightPrincessHD_Bloom/49865bd2e62efda1_0000000000000079_ps.txt +++ /dev/null @@ -1,82 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - - -// shader 49865bd2e62efda1: tints the bloom mask and applies it to the frame - - -#ifdef VULKAN - #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) - -#else - #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) - -#endif - -#ifdef VULKAN - layout(set = 1, binding = 1) uniform ufBlock - { - uniform ivec4 uf_remappedPS[1]; // holds area specific bloom tint color - uniform vec4 uf_fragCoordScale; - }; - -#else - uniform ivec4 uf_remappedPS[1]; // holds area specific bloom tint color - uniform vec2 uf_fragCoordScale; - -#endif - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; // bloom mask created in 6e2f31b2b2fcab1f -layout(location = 0) in vec4 passParameterSem0; // pixel coord -layout(location = 0) out vec4 passPixelColor0; // pixel color, alpha = blend of original pixel -> used to dampen non-bloom areas in shadow world - - -// more compatible interpolation -float mixf(float x, float y, float a) -{ - return x * (1.0 - a) + y * a; -} - - -void main() -{ - // get pixel coord - vec2 coord = passParameterSem0.xy; - - // get bloom mask - vec3 mask = texture(textureUnitPS0, coord).xyz; - - // get area specific color tint - vec4 tint = vec4(0.0); - tint.x = intBitsToFloat(uf_remappedPS[0].x); - tint.y = intBitsToFloat(uf_remappedPS[0].y); - tint.z = intBitsToFloat(uf_remappedPS[0].z); - tint.w = intBitsToFloat(uf_remappedPS[0].w); - - // get luminance of tint: removes color, keeps intended brightness - float tintLuminance = dot(tint.xyz, vec3(0.299, 0.587, 0.114)); // percieved approximation - - // apply custom tint color - tint.x = mixf(tintLuminance, tint.x, $bloom_tint_strength); - tint.y = mixf(tintLuminance, tint.y, $bloom_tint_strength); - tint.z = mixf(tintLuminance, tint.z, $bloom_tint_strength); - - // apply tint on mask - vec4 outColor = vec4(0.0); - outColor.x = mask.x * tint.x; - outColor.y = mask.y * tint.y; - outColor.z = mask.z * tint.z; - - // custom brightness reduction, only in shadow world below 1.0 - outColor.w = mixf(1.0, tint.w, $shadow_world_darkening); - - // export - passPixelColor0 = vec4(outColor.x, outColor.y, outColor.z, outColor.w); -} \ No newline at end of file diff --git a/Enhancements/TwilightPrincessHD_Bloom/5f422bf63e25be7f_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Bloom/5f422bf63e25be7f_0000000000000079_ps.txt deleted file mode 100644 index 8bfc1d67..00000000 --- a/Enhancements/TwilightPrincessHD_Bloom/5f422bf63e25be7f_0000000000000079_ps.txt +++ /dev/null @@ -1,75 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - - -// shader 5f422bf63e25be7f: desaturates colors (shadow world only) -// desaturates the image by shifting colors towards the red channel -// used in shadow world only, as far as tested -// grading values always seem to be: 1.0, 1.0, 1.0, ~0.33 - - -#ifdef VULKAN - #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) - - layout(set = 1, binding = 1) uniform ufBlock - { - uniform ivec4 uf_remappedPS[1]; // grading - }; - -#else - #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) - - uniform ivec4 uf_remappedPS[1]; // grading - -#endif - - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; // frame -layout(location = 0) in vec4 passParameterSem1; // pixel coordinate -layout(location = 0) out vec4 passPixelColor0; // output. w is alpha, overlayed - - -// more compatible interpolation -float mixf(float x, float y, float a) -{ - return x * (1.0 - a) + y * a; -} - - -void main() -{ - // get texel color - vec2 coord = passParameterSem1.xy; - vec3 texel = texture(textureUnitPS0, coord).xyz; - - // get grading - vec4 grading = vec4(0.0); - grading.x = intBitsToFloat(uf_remappedPS[0].x); // 1.0 - grading.y = intBitsToFloat(uf_remappedPS[0].y); // 1.0 - grading.z = intBitsToFloat(uf_remappedPS[0].z); // 1.0 - grading.w = intBitsToFloat(uf_remappedPS[0].w); // alpha, ~0.33 - - // shift towards red channel - vec4 color = vec4(0.0); - color.x = texel.x * grading.x; // red * 1.0 - color.y = texel.x * grading.y; // red * 1.0 - color.z = texel.x * grading.z; // red * 1.0 - color.w = mixf(0.0, grading.w, $shadow_world_desaturation); // apply custom strength - - // export - passPixelColor0 = vec4(color.x, color.y, color.z, color.w); - - - // test current grading colors - //passPixelColor0 = vec4(grading.x, grading.y, grading.z, 1.0); - - // test current grading alpha - //passPixelColor0 = vec4(grading.w, grading.w, grading.w, 1.0); -} diff --git a/Enhancements/TwilightPrincessHD_Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt deleted file mode 100644 index 464c365d..00000000 --- a/Enhancements/TwilightPrincessHD_Bloom/6e2f31b2b2fcab1f_0000000000000079_ps.txt +++ /dev/null @@ -1,67 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - - -// shader 6e2f31b2b2fcab1f: creates bloom mask - - -#ifdef VULKAN - #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) - -#else - #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) - -#endif - -#ifdef VULKAN - layout(set = 1, binding = 1) uniform ufBlock - { - uniform ivec4 uf_remappedPS[1]; // mask threshold - uniform vec4 uf_fragCoordScale; - }; - -#else - uniform ivec4 uf_remappedPS[1]; // mask threshold - uniform vec2 uf_fragCoordScale; - -#endif - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; // frame -layout(location = 0) out vec4 passPixelColor0; // outputs to a texture used by c612390d4c70f430, 95a5a89d62998e0d and 49865bd2e62efda1 - - -void main() -{ - // get mask threshold data - float cutoff = intBitsToFloat(uf_remappedPS[0].x); // ~0.39: 0-1, higher = less glowing pixels - float contrast = intBitsToFloat(uf_remappedPS[0].y); // 4.5: higher = sharper edges - - // get texture coordinate of this pixel - vec4 coord = GET_FRAGCOORD(); - coord.x = coord.x * intBitsToFloat(0x3b088889); // align to scale/grid? - coord.y = coord.y * intBitsToFloat(0x3b72b9d6); - - // get color of this pixel - vec3 color = texture(textureUnitPS0, vec2(coord.x, coord.y)).xyz; - - // calculate luminance = percieved brightness - float luminance = dot(color, vec3(0.299, 0.587, 0.114)); // percieved approximation - - // apply threshold, removes dark areas from the mask - luminance = contrast * (luminance - cutoff) * $bloom_strength; // apply custom strength - - // apply to color and clamp - color.x = clamp(luminance * color.x, 0.0, 1.0); - color.y = clamp(luminance * color.y, 0.0, 1.0); - color.z = clamp(luminance * color.z, 0.0, 1.0); - - // export - passPixelColor0 = vec4(color.x, color.y, color.z, 0.0); -} diff --git a/Enhancements/TwilightPrincessHD_Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt deleted file mode 100644 index 31a9713d..00000000 --- a/Enhancements/TwilightPrincessHD_Bloom/blur_unused_95a5a89d62998e0d_0000000000000079_ps.txt +++ /dev/null @@ -1,300 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - - -// shader 95a5a89d62998e0d: blurs bloom vertical - - -#ifdef VULKAN - #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) - -#else - #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) - -#endif - -#ifdef VULKAN - layout(set = 1, binding = 1) uniform ufBlock - { - uniform ivec4 uf_remappedPS[3]; - uniform vec4 uf_fragCoordScale; - }; - -#else - uniform ivec4 uf_remappedPS[3]; - uniform vec2 uf_fragCoordScale; - -#endif - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) out vec4 passPixelColor0; - - -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} - - -void main() -{ - vec4 R0f = vec4(0.0); - vec4 R1f = vec4(0.0); - vec4 R2f = vec4(0.0); - vec4 R3f = vec4(0.0); - vec4 R4f = vec4(0.0); - vec4 R5f = vec4(0.0); - vec4 R6f = vec4(0.0); - vec4 R7f = vec4(0.0); - vec4 R123f = vec4(0.0); - float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; - float PV0fx = 0.0, PV0fy = 0.0, PV0fz = 0.0, PV0fw = 0.0, PV1fx = 0.0, PV1fy = 0.0, PV1fz = 0.0, PV1fw = 0.0; - float PS0f = 0.0, PS1f = 0.0; - vec4 tempf = vec4(0.0); - float tempResultf; - int tempResulti; - ivec4 ARi = ivec4(0); - bool predResult = true; - R0f = GET_FRAGCOORD(); - - - // 0 - R7f.x = R0f.x * intBitsToFloat(0x3b088889); - R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); - - // 1 - R0f.x = R7f.x; - R0f.y = R7f.y + intBitsToFloat(0x3b72b9d6); - R1f.z = R7f.x; - R1f.y = R7f.y + intBitsToFloat(0xbb72b9d6); - - // 2 - R2f.x = R7f.x; - R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6); - R4f.z = R7f.x; - R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.z,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - PV0fx = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); - PV0fy = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); - PV0fz = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.x); - PV0fw = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.w); - R0f.y = R7f.y + intBitsToFloat(0x3c360b60); - - // 1 - R123f.x = mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0fx; - R123f.y = mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0fw; - R123f.z = mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0fz; - R123f.w = mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0fy; - R0f.x = R7f.x; - - // 2 - backupReg0f = R123f.y; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + R123f.w; - R1f.y = R7f.y + intBitsToFloat(0xbc360b60); - - // 3 - backupReg0f = R2f.z; - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + R123f.y; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + R123f.x; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + R123f.z; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + R123f.w; - R1f.x = R7f.x; - - // 4 - R2f.x = R7f.x; - R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6); - R6f.z = R7f.x; - R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.z,R4f.y),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R2f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R3f.y; - R3f.y = R7f.y + intBitsToFloat(0x3c97b426); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + backupReg0f; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + R123f.w; - R3f.x = R7f.x; - - // 2 - backupReg0f = R123f.y; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + backupReg0f; - R1f.y = R7f.y + intBitsToFloat(0xbc97b426); - - // 3 - R0f.x = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + R123f.y; - R0f.y = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + R123f.x; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + R123f.w; - R1f.x = R7f.x; - - // 4 - R5f.x = R7f.x; - R5f.y = R7f.y + intBitsToFloat(0x3cb60b60); - R4f.z = R7f.x; - R4f.y = R7f.y + intBitsToFloat(0xbcb60b60); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.z,R6f.y),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.y; - R0f.y = R7f.y + intBitsToFloat(0x3cd4629b); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + R123f.w; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + backupReg0f; - R0f.x = R7f.x; - - // 2 - backupReg0f = R123f.y; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + R123f.w; - R1f.y = R7f.y + intBitsToFloat(0xbcd4629b); - - // 3 - backupReg0f = R2f.z; - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + R123f.y; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + R123f.x; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + R123f.z; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + R123f.w; - R1f.x = R7f.x; - - // 4 - R2f.x = R7f.x; - R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6); - R6f.z = R7f.x; - R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.z,R4f.y),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R2f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R3f.y; - R3f.y = R7f.y + intBitsToFloat(0x3d088888); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + backupReg0f; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + R123f.w; - R3f.x = R7f.x; - - // 2 - backupReg0f = R123f.y; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + backupReg0f; - R1f.y = R7f.y + intBitsToFloat(0xbd088888); - - // 3 - R0f.x = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + R123f.y; - R0f.y = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + R123f.x; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + R123f.w; - R1f.x = R7f.x; - - // 4 - R5f.x = R7f.x; - R5f.y = R7f.y + intBitsToFloat(0x3d17b426); - R4f.z = R7f.x; - R4f.y = R7f.y + intBitsToFloat(0xbd17b426); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.z,R6f.y),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.y; - R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + R123f.w; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + backupReg0f; - R0f.x = R7f.x; - - // 2 - backupReg0f = R123f.y; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + R123f.w; - R7f.y = R7f.y + intBitsToFloat(0xbd26dfc3); - - // 3 - backupReg0f = R2f.z; - R2f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.x) + R123f.y; - R2f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.y) + R123f.x; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + R123f.z; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + R123f.w; - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.z,R4f.y),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R7f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R2f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R2f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.y; - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + backupReg0f; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + R123f.w; - - // 2 - R7f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.x) + R123f.y; - R7f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.y) + R123f.w; - R7f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.z) + R123f.z; - R7f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R7f.w) + R123f.x; - - // export - passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -} diff --git a/Enhancements/TwilightPrincessHD_Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt b/Enhancements/TwilightPrincessHD_Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt deleted file mode 100644 index c40a8a01..00000000 --- a/Enhancements/TwilightPrincessHD_Bloom/blur_unused_c612390d4c70f430_0000000000000079_ps.txt +++ /dev/null @@ -1,454 +0,0 @@ -#version 430 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - - -// shader c612390d4c70f430: blurs bloom horizontal - - -#ifdef VULKAN - #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.z, 1.0/gl_FragCoord.w) - -#else - #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) - #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) - #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) - #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) - -#endif - -#ifdef VULKAN - layout(set = 1, binding = 1) uniform ufBlock - { - uniform ivec4 uf_remappedPS[5]; - uniform vec4 uf_fragCoordScale; - }; - -#else - uniform ivec4 uf_remappedPS[5]; - uniform vec2 uf_fragCoordScale; - -#endif - -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) out vec4 passPixelColor0; - - -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} - - -void main() -{ - vec4 R0f = vec4(0.0); - vec4 R1f = vec4(0.0); - vec4 R2f = vec4(0.0); - vec4 R3f = vec4(0.0); - vec4 R4f = vec4(0.0); - vec4 R5f = vec4(0.0); - vec4 R6f = vec4(0.0); - vec4 R7f = vec4(0.0); - vec4 R123f = vec4(0.0); - float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; - float PV0fx = 0.0, PV0fy = 0.0, PV0fz = 0.0, PV0fw = 0.0, PV1fx = 0.0, PV1fy = 0.0, PV1fz = 0.0, PV1fw = 0.0; - float PS0f = 0.0, PS1f = 0.0; - vec4 tempf = vec4(0.0); - float tempResultf; - int tempResulti; - ivec4 ARi = ivec4(0); - bool predResult = true; - R0f = GET_FRAGCOORD(); - - - // 0 - R7f.x = R0f.x * intBitsToFloat(0x3b088889); - R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); - - // 1 - R0f.x = R7f.x + intBitsToFloat(0x3b088889); - R0f.y = R7f.y; - R1f.z = R7f.y; - R1f.x = R7f.x + intBitsToFloat(0xbb088889); - - // 2 - R2f.x = R7f.x + intBitsToFloat(0x3b888889); - R2f.y = R7f.y; - R4f.z = R7f.y; - R4f.x = R7f.x + intBitsToFloat(0xbb888889); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.z),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - PV0fx = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); - PV0fy = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); - PV0fz = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.x); - PV0fw = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.w); - R0f.x = R7f.x + intBitsToFloat(0x3bccccce); - - // 1 - R123f.x = mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0fw; - R123f.y = mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0fy; - R123f.z = mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0fz; - R123f.w = mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0fx; - R0f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + R123f.w; - R1f.x = R7f.x + intBitsToFloat(0xbbccccce); - - // 3 - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + R123f.z; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + R123f.y; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.z) + R123f.w; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + R123f.x; - R1f.y = R7f.y; - - // 4 - R2f.x = R7f.x + intBitsToFloat(0x3c088889); - R2f.y = R7f.y; - R6f.z = R7f.y; - R6f.x = R7f.x + intBitsToFloat(0xbc088889); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R3f.x; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R2f.w; - R3f.x = R7f.x + intBitsToFloat(0x3c2aaaab); - - // 1 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + R123f.w; - R3f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + backupReg0f; - R1f.x = R7f.x + intBitsToFloat(0xbc2aaaab); - - // 3 - R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + R123f.x; - R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + R123f.y; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + R123f.w; - R1f.y = R7f.y; - - // 4 - R5f.x = R7f.x + intBitsToFloat(0x3c4cccce); - R5f.y = R7f.y; - R4f.z = R7f.y; - R4f.x = R7f.x + intBitsToFloat(0xbc4cccce); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.x; - R0f.x = R7f.x + intBitsToFloat(0x3c6eeef0); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + R123f.w; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + backupReg0f; - R0f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + R123f.w; - R1f.x = R7f.x + intBitsToFloat(0xbc6eeef0); - - // 3 - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + R123f.z; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + R123f.y; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.z) + R123f.w; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + R123f.x; - R1f.y = R7f.y; - - // 4 - R2f.x = R7f.x + intBitsToFloat(0x3c888889); - R2f.y = R7f.y; - R6f.z = R7f.y; - R6f.x = R7f.x + intBitsToFloat(0xbc888889); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R3f.x; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R2f.w; - R3f.x = R7f.x + intBitsToFloat(0x3c99999a); - - // 1 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + R123f.w; - R3f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + backupReg0f; - R1f.x = R7f.x + intBitsToFloat(0xbc99999a); - - // 3 - R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + R123f.x; - R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + R123f.y; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + R123f.w; - R1f.y = R7f.y; - - // 4 - R5f.x = R7f.x + intBitsToFloat(0x3caaaaab); - R5f.y = R7f.y; - R4f.z = R7f.y; - R4f.x = R7f.x + intBitsToFloat(0xbcaaaaab); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.x; - R0f.x = R7f.x + intBitsToFloat(0x3cbbbbbc); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + R123f.w; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + backupReg0f; - R0f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + R123f.w; - R1f.x = R7f.x + intBitsToFloat(0xbcbbbbbc); - - // 3 - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + R123f.z; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.x) + R123f.y; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.z) + R123f.w; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.y) + R123f.x; - R1f.y = R7f.y; - - // 4 - R2f.x = R7f.x + intBitsToFloat(0x3cccccce); - R2f.y = R7f.y; - R6f.z = R7f.y; - R6f.x = R7f.x + intBitsToFloat(0xbcccccce); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R3f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R3f.x; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.w; - R3f.x = R7f.x + intBitsToFloat(0x3cdddddf); - - // 1 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + R123f.w; - R3f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R1f.x) + backupReg0f; - R1f.x = R7f.x + intBitsToFloat(0xbcdddddf); - - // 3 - R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[3].x)) + R123f.x; - R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[3].x)) + R123f.y; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[3].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[3].x)) + R123f.w; - R1f.y = R7f.y; - - // 4 - R5f.x = R7f.x + intBitsToFloat(0x3ceeeef0); - R5f.y = R7f.y; - R4f.z = R7f.y; - R4f.x = R7f.x + intBitsToFloat(0xbceeeef0); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.z) + R0f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x),R6f.w) + R0f.x; - R0f.x = R7f.x + 0.03125; - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.w) + R123f.w; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.y) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R3f.z) + backupReg0f; - R0f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),R1f.z) + R123f.w; - R1f.x = R7f.x + -0.03125; - - // 3 - R3f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.w) + R123f.z; - R3f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.x) + R123f.y; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.z) + R123f.w; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R2f.y) + R123f.x; - R1f.y = R7f.y; - - // 4 - R2f.x = R7f.x + intBitsToFloat(0x3d088889); - R2f.y = R7f.y; - R6f.z = R7f.y; - R6f.x = R7f.x + intBitsToFloat(0xbd088889); - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R5f.xyzw = (textureLod(textureUnitPS0, vec2(R2f.x,R2f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.x) + R3f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.w) + R3f.x; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.z) + R2f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),R4f.y) + R2f.w; - R3f.x = R7f.x + intBitsToFloat(0x3d111112); - - // 1 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.x) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.w) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R0f.y) + R123f.w; - R3f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.w) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.z) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.y) + R123f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].w),R1f.x) + backupReg0f; - R1f.x = R7f.x + intBitsToFloat(0xbd111112); - - // 3 - R0f.x = mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[4].x)) + R123f.x; - R0f.y = mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[4].x)) + R123f.y; - R5f.z = mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[4].x)) + R123f.z; - R5f.w = mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[4].x)) + R123f.w; - R1f.y = R7f.y; - - // 4 - R5f.x = R7f.x + intBitsToFloat(0x3d19999a); - R5f.y = R7f.y; - R4f.z = R7f.y; - R4f.x = R7f.x + intBitsToFloat(0xbd19999a); - R6f.xyzw = (textureLod(textureUnitPS0, vec2(R6f.x,R6f.z),0.0).xyzw); - R3f.xyzw = (textureLod(textureUnitPS0, vec2(R3f.x,R3f.y),0.0).xyzw); - R1f.xyzw = (textureLod(textureUnitPS0, vec2(R1f.x,R1f.y),0.0).xyzw); - R2f.xyzw = (textureLod(textureUnitPS0, vec2(R5f.x,R5f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.z) + R0f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.y) + R5f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.x) + R5f.w; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R6f.w) + R0f.x; - R0f.x = R7f.x + intBitsToFloat(0x3d222223); - - // 1 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.w) + R123f.w; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.y) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.x) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R3f.z) + backupReg0f; - R0f.y = R7f.y; - - // 2 - backupReg0f = R123f.x; - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.y) + R123f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.x) + R123f.z; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.w) + backupReg0f; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.z) + R123f.w; - R7f.x = R7f.x + intBitsToFloat(0xbd222223); - - // 3 - backupReg0f = R2f.x; - backupReg1f = R2f.y; - R2f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R2f.w) + R123f.z; - R2f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg0f) + R123f.y; - R2f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R2f.z) + R123f.w; - R2f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),backupReg1f) + R123f.x; - R4f.xyzw = (textureLod(textureUnitPS0, vec2(R4f.x,R4f.z),0.0).xyzw); - R0f.xyzw = (textureLod(textureUnitPS0, vec2(R0f.x,R0f.y),0.0).xyzw); - R7f.xyzw = (textureLod(textureUnitPS0, vec2(R7f.x,R7f.y),0.0).xyzw); - - // 0 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.x) + R2f.y; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.w) + R2f.x; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.z) + R2f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z),R4f.y) + R2f.w; - - // 1 - R123f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.x) + R123f.x; - R123f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.w) + R123f.y; - R123f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.z) + R123f.z; - R123f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R0f.y) + R123f.w; - - // 2 - R7f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.x) + R123f.x; - R7f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.y) + R123f.w; - R7f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.z) + R123f.z; - R7f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].w),R7f.w) + R123f.y; - - // export - passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -} diff --git a/Enhancements/TwilightPrincessHD_Bloom/rules.txt b/Enhancements/TwilightPrincessHD_Bloom/rules.txt deleted file mode 100644 index 7a25d0af..00000000 --- a/Enhancements/TwilightPrincessHD_Bloom/rules.txt +++ /dev/null @@ -1,433 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500 -name = Bloom (Glow) and Shadow World Color Grading -path = The Legend of Zelda: Twilight Princess HD/Graphics/Bloom -description = This pack allows you to adjust bloom and color grading in the shadow world.||It's not recommended to fully disable bloom, as it removes the intended tone of the game.|Bloom is particularly strong in the shadow world with a strong yellow tint, but is also used in the normal world.||Color grading only affects the shadow world. By default, the game darkens and desaturates the image in the shadow world to further distinguish it. -version = 7 - - -[Default] -$bloom_custom = 0 -$bloom_enabled = 1 -$bloom_strength = 1.0 -#$bloom_blur_strength = 1.0 -$bloom_tint_strength = 1.0 -$shadow_world_custom = 0 -$shadow_world_darkening = 1.0 -$shadow_world_desaturation = 1.0 - - -# Bloom presets for dummies - -[Preset] -category = Bloom -name = Very High (Default) -$bloom_custom = 0 -$bloom_strength = 1.0 -#$bloom_blur_strength = 1.0 -$bloom_tint_strength = 1.0 - -[Preset] -category = Bloom -name = High -$bloom_custom = 0 -$bloom_strength = 0.8 -#$bloom_blur_strength = 0.8 -$bloom_tint_strength = 0.8 - -[Preset] -category = Bloom -name = Balanced (Recommended) -$bloom_custom = 0 -$bloom_strength = 0.5 -#$bloom_blur_strength = 0.5 -$bloom_tint_strength = 0.8 - -[Preset] -category = Bloom -name = Low -$bloom_custom = 0 -$bloom_strength = 0.4 -#$bloom_blur_strength = 0.2 -$bloom_tint_strength = 0.9 - -[Preset] -category = Bloom -name = Very Low -$bloom_custom = 0 -$bloom_strength = 0.2 -#$bloom_blur_strength = 0.2 -$bloom_tint_strength = 0.9 - -[Preset] -category = Bloom -name = Custom -$bloom_custom = 1 - - -# Overall Bloom Strength (6e2f31b2b2fcab1f) - -[Preset] -category = Bloom Strength -name = 0% (Disables bloom entirely, not recommended) -condition = $bloom_custom -$bloom_enabled = 0 -$bloom_strength = 0.0 - -[Preset] -category = Bloom Strength -name = 10% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.1 - -[Preset] -category = Bloom Strength -name = 20% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.2 - -[Preset] -category = Bloom Strength -name = 30% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.3 - -[Preset] -category = Bloom Strength -name = 40% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.4 - -[Preset] -category = Bloom Strength -name = 50% (Recommended) -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.5 - -[Preset] -category = Bloom Strength -name = 60% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.6 - -[Preset] -category = Bloom Strength -name = 70% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.7 - -[Preset] -category = Bloom Strength -name = 80% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.8 - -[Preset] -category = Bloom Strength -name = 90% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 0.9 - -[Preset] -category = Bloom Strength -name = 100% (Default) -default = 1 -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 1.0 - -[Preset] -category = Bloom Strength -name = 110% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 1.1 - -[Preset] -category = Bloom Strength -name = 120% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 1.2 - -[Preset] -category = Bloom Strength -name = 150% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 1.5 - -[Preset] -category = Bloom Strength -name = 200% -condition = $bloom_custom -$bloom_enabled = 1 -$bloom_strength = 2.0 - - -## Blur Strength (ToDo) -## Strength of the periodic blur would be most useful, some people feel nausatiated by it -## Would recommend to set bloom higher with this reduced -## Didn't figure out the shader yet. Most likely better solved via ASM -# -#[Preset] -#category = Periodic Bloom Blur -#name = 0% (Bloom will stay static) -#condition = $bloom_enabled -#$bloom_blur_strength = 0.0 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 10% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.1 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 20% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.2 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 30% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.3 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 40% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.4 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 50% (Recommended) -#condition = $bloom_enabled -#$bloom_blur_strength = 0.5 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 60% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.6 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 70% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.7 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 80% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.8 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 90% -#condition = $bloom_enabled -#$bloom_blur_strength = 0.9 -# -#[Preset] -#category = Periodic Bloom Blur -#name = 100% (Native) -#condition = $bloom_enabled -#default = 1 -#$bloom_blur_strength = 1.0 - - -# Area Specific Bloom Tint (49865bd2e62efda1) - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 0% (Same white bloom color everywhere) -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.0 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 10% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.1 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 20% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.2 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 30% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.3 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 40% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.4 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 50% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.5 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 60% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.6 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 70% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.7 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 80% (Recommended) -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.8 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 90% -condition = $bloom_enabled + $bloom_custom > 1 -$bloom_tint_strength = 0.9 - -[Preset] -category = Area-Specific Bloom Tint Strength -name = 100% (Default) -condition = $bloom_enabled + $bloom_custom > 1 -default = 1 -$bloom_tint_strength = 1.0 - - - -# Shadow world color grading presets for dummies - -[Preset] -category = Shadow World Color Grading -name = Very Dark (Default) -default = 1 -$shadow_world_custom = 0 -$shadow_world_darkening = 1.0 -$shadow_world_desaturation = 1.0 - -[Preset] -category = Shadow World Color Grading -name = Dark -$shadow_world_custom = 0 -$shadow_world_darkening = 0.75 -$shadow_world_desaturation = 0.75 - -[Preset] -category = Shadow World Color Grading -name = Balanced -$shadow_world_custom = 0 -$shadow_world_darkening = 0.5 -$shadow_world_desaturation = 0.5 - -[Preset] -category = Shadow World Color Grading -name = Bright (Recommended) -$shadow_world_custom = 0 -$shadow_world_darkening = 0.25 -$shadow_world_desaturation = 0.5 - -[Preset] -category = Shadow World Color Grading -name = Very Bright -$shadow_world_custom = 0 -$shadow_world_darkening = 0.0 -$shadow_world_desaturation = 0.5 - -[Preset] -category = Shadow World Color Grading -name = Custom -$shadow_world_custom = 1 - - -# Shadow World Brightness (49865bd2e62efda1) -# the alpha of the bloom color tint in the shadow world is used to darken the image -# this is separated, because it is not affected by bloom strength at all - -[Preset] -category = Shadow World Brightness -name = 60% (Default) -default = 1 -condition = $shadow_world_custom -$shadow_world_darkening = 1.0 - -[Preset] -category = Shadow World Brightness -name = 70% -condition = $shadow_world_custom -$shadow_world_darkening = 0.75 - -[Preset] -category = Shadow World Brightness -name = 80% -condition = $shadow_world_custom -$shadow_world_darkening = 0.5 - -[Preset] -category = Shadow World Brightness -name = 90% (Recommended) -condition = $shadow_world_custom -$shadow_world_darkening = 0.25 - -[Preset] -category = Shadow World Brightness -name = 100% (Shadow world as bright as normal world) -condition = $shadow_world_custom -$shadow_world_darkening = 0.0 - - -# Shadow World Color Desaturation (5f422bf63e25be7f) -# a custom shader is used exclusivly in the shadow world to desaturate its colors - -[Preset] -category = Shadow World Saturation -name = 60% (Default) -default = 1 -condition = $shadow_world_custom -$shadow_world_desaturation = 1.0 - -[Preset] -category = Shadow World Saturation -name = 70% -condition = $shadow_world_custom -$shadow_world_desaturation = 0.75 - -[Preset] -category = Shadow World Saturation -name = 80% (Recommended) -condition = $shadow_world_custom -$shadow_world_desaturation = 0.5 - -[Preset] -category = Shadow World Saturation -name = 90% -condition = $shadow_world_custom -$shadow_world_desaturation = 0.25 - -[Preset] -category = Shadow World Saturation -name = 100% (Shadow world as saturated as normal world) -condition = $shadow_world_custom -$shadow_world_desaturation = 0.0