From 41c38f55688777040ce970b11519bef76009f4a6 Mon Sep 17 00:00:00 2001 From: Skal Fate <20464880+skalfate@users.noreply.github.com> Date: Wed, 13 Mar 2019 12:34:57 -0600 Subject: [PATCH] Changed Categories for CelShade Pack and Distant Fog (#341) * Changed Category For Cel-Shade & Distant Fog --- .../8d24f32f18e6de47_0000000079249749_ps.txt | 1350 +++++----- .../Botw_AmiiboMode/rules.txt | 110 +- .../2f7ecb9f0022d8ca_0000000000000001_ps.txt | 180 +- .../314b77345f06369b_0000000000000000_vs.txt | 174 +- .../314b77349f0636db_0000000000000000_vs.txt | 170 +- .../314b7734df06371b_0000000000000000_vs.txt | 182 +- .../Botw_CelShadingRemoval/rules.txt | 54 +- .../57cecf2ed6c8e3f0_00000003c9249749_ps.txt | 1904 +++++++------- .../f4e1147ab34a1677_0000000000000000_vs.txt | 416 +-- .../Botw_MenuWorkaround/rules.txt | 16 +- .../1c7db40ff5d693ab_001ffffe4924b249_ps.txt | 2286 ++++++++--------- .../Botw_ShadowFix_Altros/rules.txt | 144 +- .../1c7db40ff5d693ab_001ffffe4924b249_ps.txt | 1812 ++++++------- .../Botw_ShadowFix_SkalFate/rules.txt | 480 ++-- .../2e2543216c04766d_0000000079249749_ps.txt | 1370 +++++----- .../bec68ec6f40a864f_00fffff249259249_ps.txt | 1936 +++++++------- .../fb2e18ae56397ca7_00fffff249259249_ps.txt | 1920 +++++++------- .../Botw_DistantFog/rules.txt | 674 ++--- .../29c30aaa023dc7e6_0000000000000709_ps.txt | 360 +-- .../397f3d8521c96e30_0000000000000709_ps.txt | 406 +-- .../Botw_HyruleCastleAura/ReadMe.txt | 46 +- .../Botw_HyruleCastleAura/rules.txt | 262 +- .../699b238ae15d113b_00000000000000e1_ps.txt | 378 +-- .../Botw_HyruleCastleBaseFog/ReadMe.txt | 40 +- .../Botw_HyruleCastleBaseFog/rules.txt | 198 +- .../1c7db40ff5d693ab_001ffffe4924b249_ps.txt | 1638 ++++++------ .../Botw_NPCFog/ReadMe.txt | 30 +- .../Botw_NPCFog/rules.txt | 146 +- .../527591781440691a_000000000001c24b_ps.txt | 656 ++--- .../Botw_WorldFogFields/ReadMe.txt | 40 +- .../Botw_WorldFogFields/rules.txt | 198 +- docs/img/avatar-icon.png | Bin 5069 -> 5068 bytes 32 files changed, 9788 insertions(+), 9788 deletions(-) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt (98%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt (83%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt (96%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt (97%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt (97%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt (97%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt (73%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt (98%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt (97%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt (53%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt (97%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt (80%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt (97%) rename {Enhancements => Mods}/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt (90%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt (98%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt (98%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt (98%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt (91%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt (97%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt (97%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/ReadMe.txt (89%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt (88%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt (96%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/ReadMe.txt (89%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt (88%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt (98%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/ReadMe.txt (85%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt (85%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt (96%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/ReadMe.txt (89%) rename {Enhancements => Mods}/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt (87%) diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt similarity index 98% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt index e3d475aa..2c752c5c 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/8d24f32f18e6de47_0000000079249749_ps.txt @@ -1,675 +1,675 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 8d24f32f18e6de47 -uniform ivec4 uf_remappedPS[10]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem3; -layout(location = 3) in vec4 passParameterSem4; -layout(location = 4) in vec4 passParameterSem6; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex8 = 0.0; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem1); -R2i = floatBitsToInt(passParameterSem3); -R3i = floatBitsToInt(passParameterSem4); -R4i = floatBitsToInt(passParameterSem6); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xyzw); -R2i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).x); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS6, intBitsToFloat(R0i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS7, intBitsToFloat(R0i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.zw)).xyzw); -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); -PV0i.y = R127i.y; -R126i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); -PV0i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.w = R127i.w; -R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.x)); -PS0i = R127i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); -PS1i = R9i.z; -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(R127i.w)))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(R127i.w)))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedPS[2].y))); -R125i.w = floatBitsToInt(max(intBitsToFloat(R127i.z), -(intBitsToFloat(R127i.z)))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R126i.y = floatBitsToInt(tempResultf); -PS0i = R126i.y; -// 3 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.x = R4i.x; -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.y)); -R126i.w = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.z)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -PS1i = R127i.w; -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R9i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -PS0i = R9i.x; -// 5 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R126i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.w)); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(R0i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -// 6 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -// 7 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(PS0i))); -R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(PS0i))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.x)); -R125i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.y)); -PS1i = R125i.x; -// 8 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(R126i.w), -(intBitsToFloat(R126i.w)))); -PV0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.w)); -R125i.z = floatBitsToInt(max(intBitsToFloat(R126i.x), -(intBitsToFloat(R126i.x)))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.z)); -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 4.0); -// 9 -backupReg0i = R126i.z; -PV1i.x = floatBitsToInt(max(intBitsToFloat(R125i.x), -(intBitsToFloat(R125i.x)))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 4.0); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 4.0); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 4.0); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.y))); -PS1i = R5i.z; -// 10 -backupReg0i = R127i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(fract(intBitsToFloat(R3i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R125i.x = floatBitsToInt(fract(intBitsToFloat(R3i.y))); -PS0i = R125i.x; -// 11 -R127i.x = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(PV0i.w))); -PV1i.x = R127i.x; -R126i.y = R4i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.y)); -PV1i.z = R126i.z; -R127i.w = R4i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = R5i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -PS1i = R125i.w; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R12i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R126i.y)) + intBitsToFloat(R5i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(backupReg0i))); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.w)) + intBitsToFloat(R12i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(R127i.z)); -PV1i.w = clampFI32(PV1i.w); -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R125i.w)) + intBitsToFloat(R11i.z))); -PS1i = R125i.z; -// 14 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R9i.x)) + intBitsToFloat(R1i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.x)); -PV0i.y = clampFI32(PV0i.y); -R10i.z = floatBitsToInt(roundEven(0.0)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.w)); -R2i.w = floatBitsToInt((-(intBitsToFloat(R7i.w)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); -PS0i = R2i.w; -// 15 -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(R1i.w))); -R1i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(uf_remappedPS[3].x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.y)); -R1i.y = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(uf_remappedPS[3].y)); -PS1i = R1i.y; -// 16 -// edit here -// desaturates shadow making it look metal (R127i.y))*.05 -R125i.x = floatBitsToInt(max(-(intBitsToFloat(R127i.y)), 0.0)); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.y))); -// rlli.z and uf_remapedPS3 both alter shinyness -R3i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedPS[3].z)); -// edit here -// kinda tone maping on character ? (R8i.w)*.05 -// low numbers = darker darks and brighter brights -R127i.w = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(0x437f0000)); -// Edit here -// 7i.w carrying character shinyness reflectivity without map items -R6i.z = floatBitsToInt(-(intBitsToFloat(R7i.w)) + 1.0); -PS0i = R6i.z; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = 0; -PS1i = R1i.w; -// 18 rotates reflection world cube map? -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x))); -PS0i = R124i.z; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.y = tempi.x; -R4i.z = int(intBitsToFloat(R127i.w)); -PS1i = R4i.z; -// 20 -redcCUBE(vec4(intBitsToFloat(R124i.z),intBitsToFloat(R124i.z),intBitsToFloat(R124i.x),intBitsToFloat(PV1i.x)),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.x),intBitsToFloat(R124i.z),intBitsToFloat(R124i.z)),cubeMapSTM,cubeMapFaceId); -R0i.x = floatBitsToInt(cubeMapSTM.x); -R0i.y = floatBitsToInt(cubeMapSTM.y); -R0i.z = floatBitsToInt(cubeMapSTM.z); -R0i.w = cubeMapFaceId; -PV0i.x = R0i.x; -PV0i.y = R0i.y; -PV0i.z = R0i.z; -PV0i.w = R0i.w; -// r125i. brightens shadows -R6i.y = floatBitsToInt(min(intBitsToFloat(R125i.x), 1.0)); -PS0i = R6i.y; -// 21 -R1i.x = 0; -R3i.y = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(0x437f0000)); -R2i.z = PV0i.w; -// tweak reflectivity of surfaces -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(R6i.z)) + intBitsToFloat(R6i.z))); -R3i.x = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -PS1i = R3i.x; -// 0 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(uf_remappedPS[7].w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[7].w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R3i.x)) + 1.5)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R3i.x)) + 1.5)); -PV0i.w = R123i.w; -R124i.y = R4i.z & 0x000000fc; -PS0i = R124i.y; -// 1 -R2i.x = PV0i.w; -R2i.y = PV0i.z; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z), intBitsToFloat(uf_remappedPS[7].w))); -// edit here for Plastic look -//(R3i.w)*.01 -// R3i.w how plastic a surface can look. Seems to change how much the bump mapping affects the surface .01 pure plastic - 65 nearly only the light grey cloud-ish texutre over top characters. -// Combine pure plastic with low specular further down in the file to make a more matte look -R127i.w = floatBitsToInt(intBitsToFloat(R3i.w)*$clarity + intBitsToFloat(0x3c23d70a)); -R127i.w = clampFI32(R127i.w); -R125i.w = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); -PS1i = R125i.w; -// 2 more sun -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.z),intBitsToFloat(R1i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R1i.z),intBitsToFloat(R1i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = int(intBitsToFloat(R3i.y)); -PS0i = R127i.y; -// 3 dot product makes brightness of sun on characters and land can totally knock out sun -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z)),vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(R124i.z)),-(intBitsToFloat(R1i.x))))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -// pv0i.x messes saturation of clothing -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -// edit here -// R127i.w seems to control how shiny stuff is and amount of bloom it gives off -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PS1i))); -R127i.x = floatBitsToInt(float(R124i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R125i.w; -backupReg0i = R125i.w; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[7].w))); -PV1i.x = R124i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[7].w))); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].w))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt((intBitsToFloat(R6i.z) * 0.5 + 0.5)); -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.y)),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg0i))); -PS1i = R125i.z; -// 6 dot product makes specular highlight on charactes but not inverse. Lower is lower -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z)),vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(PV1i.y)),-(intBitsToFloat(PV1i.z)),-(intBitsToFloat(R1i.w))))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.x = R127i.y & int(1); -PS0i = R126i.x; -// 7 -// dot product is finding the specular on characters -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(R124i.z)),-0.0),vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R124i.y)),-(intBitsToFloat(R126i.z)),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 8 r127i.x how bright metal is -R1i.x = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3b820821)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R125i.w))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) / 2.0); -// edit here Specular? -// charactr specular highlight intBitsToFloat(R127i.z)*3 -// higher number = less highlight less than 1 = more highlight. -// good combo with plastic to remove shiny 45 -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + -(intBitsToFloat(PS1i)))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.y)),intBitsToFloat(R125i.z)) + intBitsToFloat(R125i.z))); -PS0i = R122i.x; -// 9 -backupReg0i = R126i.x; -R126i.x = R126i.w; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.z = R125i.z; -R125i.w = floatBitsToInt((-(intBitsToFloat(R7i.w)) * intBitsToFloat(0x40400000) + 4.0)); -R124i.y = ((backupReg0i == 0)?(0):(0x3f800000)); -PS1i = R124i.y; -// 10 -backupReg0i = R127i.w; -R7i.x = R126i.w; -R7i.x = clampFI32(R7i.x); -PV0i.y = floatBitsToInt(intBitsToFloat(R126i.z) + 1.0); -R124i.z = floatBitsToInt((-(intBitsToFloat(R1i.x)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R6i.y))); -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PS0i = R122i.x; -// 11 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); -// how shiny is metal rli.x -R7i.z = floatBitsToInt((intBitsToFloat(R1i.x) * 0.25 + 0.25)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(backupReg0i))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R125i.w)); -// 12 -backupReg0i = R124i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R7i.x))); -PV0i.w = R123i.w; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); -PS0i = R125i.x; -// 13 -backupReg0i = R127i.y; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].w), intBitsToFloat(uf_remappedPS[7].w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); -PV1i.y = R127i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -PS1i = R127i.w; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PV1i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),-(intBitsToFloat(R124i.y))) + intBitsToFloat(PV1i.z))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),-(intBitsToFloat(R125i.y))) + intBitsToFloat(R125i.x))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PV1i.y))); -R6i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -PS0i = R6i.y; -// 15 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),-(intBitsToFloat(R124i.y))) + intBitsToFloat(R125i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),-(intBitsToFloat(R124i.y))) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.w))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); -PS1i = R127i.z; -// 16 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i)); -R5i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(backupReg1i)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R124i.z)); -R6i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(PV1i.y)); -PS0i = R6i.z; -// 17 -PV1i.x = floatBitsToInt(0.25 * intBitsToFloat(R6i.y)); -R6i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R126i.x)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R126i.z))); -R3i.w = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R3i.w = clampFI32(R3i.w); -R0i.w = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R0i.w = clampFI32(R0i.w); -PS1i = R0i.w; -// 18 -R0i.x = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R0i.x = clampFI32(R0i.x); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV1i.x))); -PS0i = R4i.z & int(1); -// 19 -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x), intBitsToFloat(PV0i.w))); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z), intBitsToFloat(PV0i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y), intBitsToFloat(PV0i.z))); -R3i.z = floatBitsToInt(float(PS0i)); -PS1i = R3i.z; -// 20 -R4i.x = R10i.x; -R4i.y = R10i.y; -R4i.z = floatBitsToInt(roundEven(1.0)); -R8i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R9i.xy)).x); -R12i.xzw = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R10i.xy)).xzw); -R13i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z))).xyz); -R4i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z))).xyz); -R2i.xyz = floatBitsToInt(textureLod(textureUnitPS8, vec4(redcCUBEReverse(intBitsToFloat(R2i.xy),R2i.z),cubeMapArrayIndex8),intBitsToFloat(R2i.w)).xyz); -R10i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R10i.xy)).xyz); -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),-(intBitsToFloat(R7i.z))) + intBitsToFloat(R12i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R12i.w) * 0.5 + 0.5)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(R8i.w)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.z = R123i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R7i.x))); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R12i.z))); -PS0i = R125i.x; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.y)); -PV1i.y = clampFI32(PV1i.y); -PV1i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV0i.z)), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV0i.z)), intBitsToFloat(R6i.x))); -// r7i.z shadow brightness PV0i.x shadow highlight brightness -R126i.x = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV0i.x)); -PS1i = R126i.x; -// 2 more edge lights in shadow -R127i.x = floatBitsToInt(-(intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.w)); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R11i.y)) + intBitsToFloat(PV1i.z)); -PV0i.y = R126i.y; -// R9i.z tonemapping? brightnss of sun on bright surfaces vs nearby dark. Ratio of Rlli.xy above vs r9i.z below. Values tested (R11i.x and y)*.5) (R9i.z)*.1 -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// brightness of sun -R8i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV1i.y))); - -// uf_remappedps[9].x carries specular highlight of sun on shiny surfaces -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R125i.w))); - - -PS0i = R124i.y; -// 3 produces edge highlights on the shadowed edge -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R12i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R5i.z))); -PS1i = R125i.y; -// 4 -backupReg0i = R126i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R12i.y)),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -// 5 -backupReg0i = R125i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R7i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(R4i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R6i.y))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(R4i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R4i.z))); -PV0i.w = R123i.w; -// 7 -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.y))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R125i.x))); -PS0i = R4i.w; -// 9 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z), intBitsToFloat(PV0i.w))); -// 10 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3ced9168)); -PV0i.y = clampFI32(PV0i.y); -// 11 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R0i.z)) + 1.0)); -PV1i.y = R123i.y; -// 12 PVli.y seems to be a scalar for ambient light in the shadows -backupReg0i = R1i.x; -R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 0 r3i.xyz ambient light in the shadows -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.x))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.y))); -PV0i.w = R123i.w; -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.x))); -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R0i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg0i))); -// 3PV0i sun color/brightness on land -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV1i.z = R123i.z; -// 4 R2i.xy r8i.z brightness of reflectd sky light on shadowed surfaces kinda like rimlighting PVli.xyz brightness of run on land -PV0i.y = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV1i.z)); -// 5 PV0i.xyz color / brightness of sun Rl0i.xyz color / brightness of fog over land and sky -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(R10i.y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R10i.z))); -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 8d24f32f18e6de47 +uniform ivec4 uf_remappedPS[10]; +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem3; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; +void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) +{ +// stm -> x .. s, y .. t, z .. MajorAxis*2.0 +vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); +float rx = inputCoord.x; +float ry = inputCoord.y; +float rz = inputCoord.z; +if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) +{ +stm.z = rx*2.0; +stm.xy = vec2(ry,rz); +if( rx >= 0.0 ) +{ +faceId = 0; +} +else +{ +faceId = 1; +} +} +else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) +{ +stm.z = ry*2.0; +stm.xy = vec2(rx,rz); +if( ry >= 0.0 ) +{ +faceId = 2; +} +else +{ +faceId = 3; +} +} +else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) +{ +stm.z = rz*2.0; +stm.xy = vec2(rx,ry); +if( rz >= 0.0 ) +{ +faceId = 4; +} +else +{ +faceId = 5; +} +} +} +vec3 redcCUBEReverse(vec2 st, int faceId) +{ +st.yx = st.xy; +vec3 v; +float majorAxis = 1.0; +if( faceId == 0 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = 1.0; +} +else if( faceId == 1 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = -1.0; +} +else if( faceId == 2 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = 1.0; +} +else if( faceId == 3 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = -1.0; +} +else if( faceId == 4 ) +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = 1.0; +} +else +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = -1.0; +} +return v; +} +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R7i = ivec4(0); +ivec4 R8i = ivec4(0); +ivec4 R9i = ivec4(0); +ivec4 R10i = ivec4(0); +ivec4 R11i = ivec4(0); +ivec4 R12i = ivec4(0); +ivec4 R13i = ivec4(0); +ivec4 R122i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +float cubeMapArrayIndex8 = 0.0; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem1); +R2i = floatBitsToInt(passParameterSem3); +R3i = floatBitsToInt(passParameterSem4); +R4i = floatBitsToInt(passParameterSem6); +R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xyzw); +R2i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).x); +R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS6, intBitsToFloat(R0i.xy)).xyzw); +R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS7, intBitsToFloat(R0i.xy)).xyzw); +R8i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.zw)).xyzw); +// 0 +R127i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); +PV0i.x = R127i.x; +R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); +PV0i.y = R127i.y; +R126i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); +PV0i.z = R126i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.w = R127i.w; +R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.x)); +PS0i = R127i.z; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R9i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); +PS1i = R9i.z; +// 2 +R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(R127i.w)))); +R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(R127i.w)))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedPS[2].y))); +R125i.w = floatBitsToInt(max(intBitsToFloat(R127i.z), -(intBitsToFloat(R127i.z)))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +R126i.y = floatBitsToInt(tempResultf); +PS0i = R126i.y; +// 3 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +PV1i.x = R4i.x; +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.y)); +R126i.w = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.z)); +R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); +R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); +PS1i = R127i.w; +// 4 +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R9i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); +PS0i = R9i.x; +// 5 +backupReg0i = R127i.z; +backupReg0i = R127i.z; +R126i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.w)); +R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(R0i.y))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(R127i.w))); +R127i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +// 6 +R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); +PV0i.x = R127i.x; +PV0i.y = R127i.x; +PV0i.z = R127i.x; +PV0i.w = R127i.x; +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); +// 7 +R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(PS0i))); +R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(PS0i))); +R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.x)); +R125i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.y)); +PS1i = R125i.x; +// 8 +backupReg0i = R127i.x; +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(max(intBitsToFloat(R126i.w), -(intBitsToFloat(R126i.w)))); +PV0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.w)); +R125i.z = floatBitsToInt(max(intBitsToFloat(R126i.x), -(intBitsToFloat(R126i.x)))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.z)); +PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); +PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 4.0); +// 9 +backupReg0i = R126i.z; +PV1i.x = floatBitsToInt(max(intBitsToFloat(R125i.x), -(intBitsToFloat(R125i.x)))); +PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 4.0); +PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 4.0); +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); +PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 4.0); +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.y))); +PS1i = R5i.z; +// 10 +backupReg0i = R127i.z; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.x))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.y))); +PV0i.y = R123i.y; +R127i.z = floatBitsToInt(fract(intBitsToFloat(R3i.x))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.w))); +PV0i.w = R123i.w; +R125i.x = floatBitsToInt(fract(intBitsToFloat(R3i.y))); +PS0i = R125i.x; +// 11 +R127i.x = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(PV0i.w))); +PV1i.x = R127i.x; +R126i.y = R4i.x; +R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); +R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.y)); +PV1i.z = R126i.z; +R127i.w = R4i.y; +R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); +R125i.w = R5i.z; +R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); +PS1i = R125i.w; +// 12 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R12i.y),intBitsToFloat(R11i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); +// 13 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R126i.y)) + intBitsToFloat(R5i.x))); +PV1i.y = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(backupReg0i))); +R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.w)) + intBitsToFloat(R12i.y))); +PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(R127i.z)); +PV1i.w = clampFI32(PV1i.w); +R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R125i.w)) + intBitsToFloat(R11i.z))); +PS1i = R125i.z; +// 14 +R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R9i.x)) + intBitsToFloat(R1i.z))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.x)); +PV0i.y = clampFI32(PV0i.y); +R10i.z = floatBitsToInt(roundEven(0.0)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.w)); +R2i.w = floatBitsToInt((-(intBitsToFloat(R7i.w)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); +PS0i = R2i.w; +// 15 +R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.x))); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(R1i.w))); +R1i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(uf_remappedPS[3].x)); +PV1i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.y)); +R1i.y = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(uf_remappedPS[3].y)); +PS1i = R1i.y; +// 16 +// edit here +// desaturates shadow making it look metal (R127i.y))*.05 +R125i.x = floatBitsToInt(max(-(intBitsToFloat(R127i.y)), 0.0)); +R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.y))); +// rlli.z and uf_remapedPS3 both alter shinyness +R3i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedPS[3].z)); +// edit here +// kinda tone maping on character ? (R8i.w)*.05 +// low numbers = darker darks and brighter brights +R127i.w = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(0x437f0000)); +// Edit here +// 7i.w carrying character shinyness reflectivity without map items +R6i.z = floatBitsToInt(-(intBitsToFloat(R7i.w)) + 1.0); +PS0i = R6i.z; +// 17 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R1i.w = 0; +PS1i = R1i.w; +// 18 rotates reflection world cube map? +R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); +PV0i.x = R124i.x; +PV0i.y = R124i.x; +PV0i.z = R124i.x; +PV0i.w = R124i.x; +R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x))); +PS0i = R124i.z; +// 19 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R124i.y = tempi.x; +R4i.z = int(intBitsToFloat(R127i.w)); +PS1i = R4i.z; +// 20 +redcCUBE(vec4(intBitsToFloat(R124i.z),intBitsToFloat(R124i.z),intBitsToFloat(R124i.x),intBitsToFloat(PV1i.x)),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.x),intBitsToFloat(R124i.z),intBitsToFloat(R124i.z)),cubeMapSTM,cubeMapFaceId); +R0i.x = floatBitsToInt(cubeMapSTM.x); +R0i.y = floatBitsToInt(cubeMapSTM.y); +R0i.z = floatBitsToInt(cubeMapSTM.z); +R0i.w = cubeMapFaceId; +PV0i.x = R0i.x; +PV0i.y = R0i.y; +PV0i.z = R0i.z; +PV0i.w = R0i.w; +// r125i. brightens shadows +R6i.y = floatBitsToInt(min(intBitsToFloat(R125i.x), 1.0)); +PS0i = R6i.y; +// 21 +R1i.x = 0; +R3i.y = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(0x437f0000)); +R2i.z = PV0i.w; +// tweak reflectivity of surfaces +R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(R6i.z)) + intBitsToFloat(R6i.z))); +R3i.x = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); +PS1i = R3i.x; +// 0 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(uf_remappedPS[7].w))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[7].w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R3i.x)) + 1.5)); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R3i.x)) + 1.5)); +PV0i.w = R123i.w; +R124i.y = R4i.z & 0x000000fc; +PS0i = R124i.y; +// 1 +R2i.x = PV0i.w; +R2i.y = PV0i.z; +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z), intBitsToFloat(uf_remappedPS[7].w))); +// edit here for Plastic look +//(R3i.w)*.01 +// R3i.w how plastic a surface can look. Seems to change how much the bump mapping affects the surface .01 pure plastic - 65 nearly only the light grey cloud-ish texutre over top characters. +// Combine pure plastic with low specular further down in the file to make a more matte look +R127i.w = floatBitsToInt(intBitsToFloat(R3i.w)*$clarity + intBitsToFloat(0x3c23d70a)); +R127i.w = clampFI32(R127i.w); +R125i.w = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); +PS1i = R125i.w; +// 2 more sun +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.z),intBitsToFloat(R1i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R1i.z),intBitsToFloat(R1i.y),intBitsToFloat(R3i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = int(intBitsToFloat(R3i.y)); +PS0i = R127i.y; +// 3 dot product makes brightness of sun on characters and land can totally knock out sun +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z)),vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(R124i.z)),-(intBitsToFloat(R1i.x))))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.w = tempi.x; +// pv0i.x messes saturation of clothing +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); +// edit here +// R127i.w seems to control how shiny stuff is and amount of bloom it gives off +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PS1i))); +R127i.x = floatBitsToInt(float(R124i.y)); +PS0i = R127i.x; +// 5 +backupReg0i = R125i.w; +backupReg0i = R125i.w; +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[7].w))); +PV1i.x = R124i.x; +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[7].w))); +PV1i.y = R124i.y; +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].w))); +PV1i.z = R126i.z; +R125i.w = floatBitsToInt((intBitsToFloat(R6i.z) * 0.5 + 0.5)); +R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.y)),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg0i))); +PS1i = R125i.z; +// 6 dot product makes specular highlight on charactes but not inverse. Lower is lower +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z)),vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(PV1i.y)),-(intBitsToFloat(PV1i.z)),-(intBitsToFloat(R1i.w))))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.x = R127i.y & int(1); +PS0i = R126i.x; +// 7 +// dot product is finding the specular on characters +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(R124i.z)),-0.0),vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R124i.y)),-(intBitsToFloat(R126i.z)),0.0))); +tempi.x = clampFI32(tempi.x); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +// 8 r127i.x how bright metal is +R1i.x = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3b820821)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R125i.w))); +R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) / 2.0); +// edit here Specular? +// charactr specular highlight intBitsToFloat(R127i.z)*3 +// higher number = less highlight less than 1 = more highlight. +// good combo with plastic to remove shiny 45 +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + -(intBitsToFloat(PS1i)))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.y)),intBitsToFloat(R125i.z)) + intBitsToFloat(R125i.z))); +PS0i = R122i.x; +// 9 +backupReg0i = R126i.x; +R126i.x = R126i.w; +R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); +R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); +PV1i.z = R125i.z; +R125i.w = floatBitsToInt((-(intBitsToFloat(R7i.w)) * intBitsToFloat(0x40400000) + 4.0)); +R124i.y = ((backupReg0i == 0)?(0):(0x3f800000)); +PS1i = R124i.y; +// 10 +backupReg0i = R127i.w; +R7i.x = R126i.w; +R7i.x = clampFI32(R7i.x); +PV0i.y = floatBitsToInt(intBitsToFloat(R126i.z) + 1.0); +R124i.z = floatBitsToInt((-(intBitsToFloat(R1i.x)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R6i.y))); +R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); +PS0i = R122i.x; +// 11 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); +// how shiny is metal rli.x +R7i.z = floatBitsToInt((intBitsToFloat(R1i.x) * 0.25 + 0.25)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(backupReg0i))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R125i.w)); +// 12 +backupReg0i = R124i.y; +R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R7i.x))); +PV0i.w = R123i.w; +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); +PS0i = R125i.x; +// 13 +backupReg0i = R127i.y; +backupReg1i = R126i.x; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].w), intBitsToFloat(uf_remappedPS[7].w))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); +PV1i.y = R127i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)); +R127i.w = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); +PS1i = R127i.w; +// 14 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PV1i.z))); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),-(intBitsToFloat(R124i.y))) + intBitsToFloat(PV1i.z))); +R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),-(intBitsToFloat(R125i.y))) + intBitsToFloat(R125i.x))); +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PV1i.y))); +R6i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); +PS0i = R6i.y; +// 15 +backupReg0i = R126i.x; +backupReg0i = R126i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),-(intBitsToFloat(R124i.y))) + intBitsToFloat(R125i.x))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),-(intBitsToFloat(R124i.y))) + intBitsToFloat(R127i.y))); +PV1i.y = R123i.y; +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.w))); +R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg0i))); +R127i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); +PS1i = R127i.z; +// 16 +backupReg0i = R127i.x; +backupReg1i = R126i.y; +R127i.x = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R125i.w)); +R126i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i)); +R5i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(backupReg1i)); +R125i.w = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R124i.z)); +R6i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(PV1i.y)); +PS0i = R6i.z; +// 17 +PV1i.x = floatBitsToInt(0.25 * intBitsToFloat(R6i.y)); +R6i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R126i.x)); +R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R126i.z))); +R3i.w = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R3i.w = clampFI32(R3i.w); +R0i.w = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R0i.w = clampFI32(R0i.w); +PS1i = R0i.w; +// 18 +R0i.x = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R0i.x = clampFI32(R0i.x); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV1i.x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.x))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV1i.x))); +PS0i = R4i.z & int(1); +// 19 +R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x), intBitsToFloat(PV0i.w))); +R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z), intBitsToFloat(PV0i.y))); +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y), intBitsToFloat(PV0i.z))); +R3i.z = floatBitsToInt(float(PS0i)); +PS1i = R3i.z; +// 20 +R4i.x = R10i.x; +R4i.y = R10i.y; +R4i.z = floatBitsToInt(roundEven(1.0)); +R8i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R9i.xy)).x); +R12i.xzw = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R10i.xy)).xzw); +R13i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z))).xyz); +R4i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z))).xyz); +R2i.xyz = floatBitsToInt(textureLod(textureUnitPS8, vec4(redcCUBEReverse(intBitsToFloat(R2i.xy),R2i.z),cubeMapArrayIndex8),intBitsToFloat(R2i.w)).xyz); +R10i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R10i.xy)).xyz); +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),-(intBitsToFloat(R7i.z))) + intBitsToFloat(R12i.w))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R12i.w) * 0.5 + 0.5)); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(R8i.w)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.z = R123i.z; +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R7i.x))); +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R12i.z))); +PS0i = R125i.x; +// 1 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z))); +PV1i.y = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.y)); +PV1i.y = clampFI32(PV1i.y); +PV1i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV0i.z)), intBitsToFloat(R5i.y))); +PV1i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV0i.z)), intBitsToFloat(R6i.x))); +// r7i.z shadow brightness PV0i.x shadow highlight brightness +R126i.x = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV0i.x)); +PS1i = R126i.x; +// 2 more edge lights in shadow +R127i.x = floatBitsToInt(-(intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.w)); +PV0i.x = R127i.x; +R126i.y = floatBitsToInt(-(intBitsToFloat(R11i.y)) + intBitsToFloat(PV1i.z)); +PV0i.y = R126i.y; +// R9i.z tonemapping? brightnss of sun on bright surfaces vs nearby dark. Ratio of Rlli.xy above vs r9i.z below. Values tested (R11i.x and y)*.5) (R9i.z)*.1 +PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); +// brightness of sun +R8i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV1i.y))); + +// uf_remappedps[9].x carries specular highlight of sun on shiny surfaces +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R125i.w))); + + +PS0i = R124i.y; +// 3 produces edge highlights on the shadowed edge +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R12i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.y = tempi.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R5i.z))); +PS1i = R125i.y; +// 4 +backupReg0i = R126i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R127i.x))); +PV0i.x = R123i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R6i.z))); +R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R12i.y)),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); +// 5 +backupReg0i = R125i.y; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R7i.w))); +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(R4i.x))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R6i.y))); +// 6 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.z))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(R4i.y))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R4i.z))); +PV0i.w = R123i.w; +// 7 +R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.w))); +R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.z))); +R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.y))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.y)); +PS1i = floatBitsToInt(tempResultf); +// 8 +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); +R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R125i.x))); +PS0i = R4i.w; +// 9 +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z), intBitsToFloat(PV0i.w))); +// 10 +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3ced9168)); +PV0i.y = clampFI32(PV0i.y); +// 11 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R0i.z)) + 1.0)); +PV1i.y = R123i.y; +// 12 PVli.y seems to be a scalar for ambient light in the shadows +backupReg0i = R1i.x; +R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +// 0 r3i.xyz ambient light in the shadows +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.x))); +PV0i.x = R123i.x; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.z))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.y))); +PV0i.w = R123i.w; +// 1 +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.x))); +// 2 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R0i.w))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg0i))); +// 3PV0i sun color/brightness on land +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV1i.z = R123i.z; +// 4 R2i.xy r8i.z brightness of reflectd sky light on shadowed surfaces kinda like rimlighting PVli.xyz brightness of run on land +PV0i.y = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV1i.x)); +PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.y)); +PV0i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV1i.z)); +// 5 PV0i.xyz color / brightness of sun Rl0i.xyz color / brightness of fog over land and sky +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x))); +R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(R10i.y))); +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R10i.z))); +// export +passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +} diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt similarity index 83% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt index 2e626d40..d12f49da 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_AmiiboMode/rules.txt @@ -1,55 +1,55 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "Amiibo Mode" -path = "The Legend of Zelda: Breath of the Wild/Enhancements/Cel-Shading Removal/Amiibo Mode" -description = Amiibo mode by Altros, add or remove that plastic look. Req Remove Links Cell Shading by SkalFate -version = 3 - - -[Preset] -name = Plastic %100 -$clarity = 0.05 - -[Preset] -name = Plastic %95 -$clarity = 0.15 - -[Preset] -name = Plastic %90 -$clarity = 0.30 - -[Preset] -name = Plastic %85 -$clarity = 0.37 - -[Preset] -name = Plastic %75 -$clarity = 0.43 - -[Preset] -name = Plastic %65 -$clarity = 0.50 - -[Preset] -name = Plastic %55 -$clarity = 0.57 - -[Preset] -name = Plastic %45 -$clarity = 0.65 - -[Preset] -name = Plastic %35 -$clarity = 0.75 - -[Preset] -name = Plastic %25 -$clarity = 0.95 - -[Preset] -name = Plastic %15 -$clarity = 1.15 - -[Preset] -name = Plastic %5 -$clarity = 1.35 +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "Amiibo Mode" +path = "The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Amiibo Mode" +description = Amiibo mode by Altros, add or remove that plastic look. Req Remove Links Cell Shading by SkalFate +version = 3 + + +[Preset] +name = Plastic %100 +$clarity = 0.05 + +[Preset] +name = Plastic %95 +$clarity = 0.15 + +[Preset] +name = Plastic %90 +$clarity = 0.30 + +[Preset] +name = Plastic %85 +$clarity = 0.37 + +[Preset] +name = Plastic %75 +$clarity = 0.43 + +[Preset] +name = Plastic %65 +$clarity = 0.50 + +[Preset] +name = Plastic %55 +$clarity = 0.57 + +[Preset] +name = Plastic %45 +$clarity = 0.65 + +[Preset] +name = Plastic %35 +$clarity = 0.75 + +[Preset] +name = Plastic %25 +$clarity = 0.95 + +[Preset] +name = Plastic %15 +$clarity = 1.15 + +[Preset] +name = Plastic %5 +$clarity = 1.35 diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt similarity index 96% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt index 0df6a621..0069072c 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/2f7ecb9f0022d8ca_0000000000000001_ps.txt @@ -1,90 +1,90 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader 2f7ecb9f0022d8ca -- Pixel shader for Links Cel Shading World & Menu - Texture format 0x005d -#define mode $mode - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; - -R0i = floatBitsToInt(passParameterSem0); // comes from 3 vertex shaders, one of them handles the lighting that glitches the sky(314b77349f0636db), so lets exclude it - -if (passParameterSem0.w == 4.0) -{ - R0i.w = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); - - // 0 - PV0i.x = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(0x437f0000)); - R127i.y = int(uint(intBitsToFloat(R0i.z))); - PS0i = R127i.y; - - // 1 - if ( mode > 1) // if mode is greater than 1 then run our own code - { - // very interesting - Replace PS1i(which is integer) with any of these numbers, there are like 4 diff modes that repeat through diff integers, [4,6,7,8,10,11] [-5 -9 -10 -12 -18 -19 -25 -26 -28 -34 -40 -41 -42] - PS1i = int(mode); - } - else - { - PS1i = int(uint(intBitsToFloat(PV0i.x))); // orignal code - } - - // 2 - PV0i.z = R127i.y & PS1i; - - // 3 - PS1i = floatBitsToInt(float(uint(PV0i.z))); - - // 4 - R0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3b808081)); -} -else -{ - R0i.w = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); - - // 0 - PV0i.x = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(0x437f0000)); - R127i.y = int(uint(intBitsToFloat(R0i.z))); - PS0i = R127i.y; - - // 1 - PS1i = int(uint(intBitsToFloat(PV0i.x))); // orignal code - - // 2 - PV0i.z = R127i.y & PS1i; - - // 3 - PS1i = floatBitsToInt(float(uint(PV0i.z))); - - // 4 - R0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3b808081)); -} - -// export -gl_FragDepth = vec4(intBitsToFloat(R0i.x), 0, 0, 0).x; -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader 2f7ecb9f0022d8ca -- Pixel shader for Links Cel Shading World & Menu - Texture format 0x005d +#define mode $mode + +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem0; +uniform vec2 uf_fragCoordScale; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R127i = ivec4(0); +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; + +R0i = floatBitsToInt(passParameterSem0); // comes from 3 vertex shaders, one of them handles the lighting that glitches the sky(314b77349f0636db), so lets exclude it + +if (passParameterSem0.w == 4.0) +{ + R0i.w = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); + + // 0 + PV0i.x = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(0x437f0000)); + R127i.y = int(uint(intBitsToFloat(R0i.z))); + PS0i = R127i.y; + + // 1 + if ( mode > 1) // if mode is greater than 1 then run our own code + { + // very interesting - Replace PS1i(which is integer) with any of these numbers, there are like 4 diff modes that repeat through diff integers, [4,6,7,8,10,11] [-5 -9 -10 -12 -18 -19 -25 -26 -28 -34 -40 -41 -42] + PS1i = int(mode); + } + else + { + PS1i = int(uint(intBitsToFloat(PV0i.x))); // orignal code + } + + // 2 + PV0i.z = R127i.y & PS1i; + + // 3 + PS1i = floatBitsToInt(float(uint(PV0i.z))); + + // 4 + R0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3b808081)); +} +else +{ + R0i.w = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); + + // 0 + PV0i.x = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(0x437f0000)); + R127i.y = int(uint(intBitsToFloat(R0i.z))); + PS0i = R127i.y; + + // 1 + PS1i = int(uint(intBitsToFloat(PV0i.x))); // orignal code + + // 2 + PV0i.z = R127i.y & PS1i; + + // 3 + PS1i = floatBitsToInt(float(uint(PV0i.z))); + + // 4 + R0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3b808081)); +} + +// export +gl_FragDepth = vec4(intBitsToFloat(R0i.x), 0, 0, 0).x; +} diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt similarity index 97% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt index cd7e94a0..a3264d68 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77345f06369b_0000000000000000_vs.txt @@ -1,87 +1,87 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable - -// shader 314b77345f06369b -- Vertex shader for Links Cel Shading - Texture format 0x005d - -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler273 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -// 0 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.x = backupReg0i; -R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) * 2.0); -R1i.y = backupReg1i; -R1i.y = floatBitsToInt(intBitsToFloat(R1i.y) * 2.0); -R1i.z = 0x3f800000; -R0i.w = 0; -R3i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x437f0000)); -PS0i = R3i.z; -R0i.xy = ivec4(textureSize(textureUnitVS0, 0),1,1).xy; -// export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); -// 0 -R127i.z = floatBitsToInt(float(R0i.x)); -PS0i = R127i.z; -// 1 -R127i.y = floatBitsToInt(float(R0i.y)); -PS1i = R127i.y; -// 2 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -// 3 -R3i.x = floatBitsToInt((-(intBitsToFloat(PS0i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -// 4 -R3i.y = floatBitsToInt((-(intBitsToFloat(PS1i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.y))); - -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), 4.0); // we change R3i.w to 4 and send to to FS to catch it -// Multiplying xy by 200 minimizes the overlay and removes cel-shading, and multiplying z by 2 makes light shading -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable + +// shader 314b77345f06369b -- Vertex shader for Links Cel Shading - Texture format 0x005d + +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler273 ClampX/Y/Z: 0 0 0 border: 0 +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem1; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R127i = ivec4(0); +uvec4 attrDecoder; +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); +attrDecoder.xy = attrDataSem1.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); +// 0 +backupReg0i = R1i.x; +backupReg1i = R1i.y; +R1i.x = backupReg0i; +R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) * 2.0); +R1i.y = backupReg1i; +R1i.y = floatBitsToInt(intBitsToFloat(R1i.y) * 2.0); +R1i.z = 0x3f800000; +R0i.w = 0; +R3i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x437f0000)); +PS0i = R3i.z; +R0i.xy = ivec4(textureSize(textureUnitVS0, 0),1,1).xy; +// export +gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); +// 0 +R127i.z = floatBitsToInt(float(R0i.x)); +PS0i = R127i.z; +// 1 +R127i.y = floatBitsToInt(float(R0i.y)); +PS1i = R127i.y; +// 2 +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); +// 3 +R3i.x = floatBitsToInt((-(intBitsToFloat(PS0i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.x))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); +// 4 +R3i.y = floatBitsToInt((-(intBitsToFloat(PS1i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.y))); + +// export +passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), 4.0); // we change R3i.w to 4 and send to to FS to catch it +// Multiplying xy by 200 minimizes the overlay and removes cel-shading, and multiplying z by 2 makes light shading +} diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt similarity index 97% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt index 0c4304e6..b843fd6e 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b77349f0636db_0000000000000000_vs.txt @@ -1,85 +1,85 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable - -// shader 314b77349f0636db -- Vertex Shader -- Lights up Cel-Shade Link and NPCs but also messes up the sky in the new methods - -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler273 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -// 0 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.x = backupReg0i; -R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) * 2.0); -R1i.y = backupReg1i; -R1i.y = floatBitsToInt(intBitsToFloat(R1i.y) * 2.0); -R1i.z = 0x3f800000; -R0i.w = 0; -R3i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x437f0000)); -PS0i = R3i.z; -R0i.xy = ivec4(textureSize(textureUnitVS0, 0),1,1).xy; -// export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); -// 0 -R127i.z = floatBitsToInt(float(R0i.x)); -PS0i = R127i.z; -// 1 -R127i.y = floatBitsToInt(float(R0i.y)); -PS1i = R127i.y; -// 2 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -// 3 -R3i.x = floatBitsToInt((-(intBitsToFloat(PS0i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -// 4 -R3i.y = floatBitsToInt((-(intBitsToFloat(PS1i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.y))); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.z)); // propety w is not set to 4.0 so it wont get processed the same way as the other 2 vertex shader -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable + +// shader 314b77349f0636db -- Vertex Shader -- Lights up Cel-Shade Link and NPCs but also messes up the sky in the new methods + +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler273 ClampX/Y/Z: 0 0 0 border: 0 +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem1; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R127i = ivec4(0); +uvec4 attrDecoder; +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); +attrDecoder.xy = attrDataSem1.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); +// 0 +backupReg0i = R1i.x; +backupReg1i = R1i.y; +R1i.x = backupReg0i; +R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) * 2.0); +R1i.y = backupReg1i; +R1i.y = floatBitsToInt(intBitsToFloat(R1i.y) * 2.0); +R1i.z = 0x3f800000; +R0i.w = 0; +R3i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x437f0000)); +PS0i = R3i.z; +R0i.xy = ivec4(textureSize(textureUnitVS0, 0),1,1).xy; +// export +gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); +// 0 +R127i.z = floatBitsToInt(float(R0i.x)); +PS0i = R127i.z; +// 1 +R127i.y = floatBitsToInt(float(R0i.y)); +PS1i = R127i.y; +// 2 +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); +// 3 +R3i.x = floatBitsToInt((-(intBitsToFloat(PS0i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.x))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); +// 4 +R3i.y = floatBitsToInt((-(intBitsToFloat(PS1i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.y))); +// export +passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.z)); // propety w is not set to 4.0 so it wont get processed the same way as the other 2 vertex shader +} diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt similarity index 97% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt index c550f725..647d5150 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/314b7734df06371b_0000000000000000_vs.txt @@ -1,91 +1,91 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable - -// shader 314b7734df06371b -- Vertex Shader for Water/Magma and etc, one of the 3 vertex shaders involved with cel-shade removal - -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler273 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); - -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); - -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); - -// 0 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.x = backupReg0i; -R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) * 2.0); -R1i.y = backupReg1i; -R1i.y = floatBitsToInt(intBitsToFloat(R1i.y) * 2.0); -R1i.z = 0x3f800000; -R0i.w = 0; -R3i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].z) * intBitsToFloat(0x437f0000)); -PS0i = R3i.z; - -R0i.xy = ivec4(textureSize(textureUnitVS0, 0),1,1).xy; - -// export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); - -// 0 -R127i.z = floatBitsToInt(float(R0i.x)); -PS0i = R127i.z; -// 1 -R127i.y = floatBitsToInt(float(R0i.y)); -PS1i = R127i.y; -// 2 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -// 3 -R3i.x = floatBitsToInt((-(intBitsToFloat(PS0i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -// 4 -R3i.y = floatBitsToInt((-(intBitsToFloat(PS1i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.y))); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), 4.0); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable + +// shader 314b7734df06371b -- Vertex Shader for Water/Magma and etc, one of the 3 vertex shaders involved with cel-shade removal + +uniform ivec4 uf_remappedVS[1]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 0 0 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler273 ClampX/Y/Z: 0 0 0 border: 0 +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem1; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R127i = ivec4(0); +uvec4 attrDecoder; +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); + +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); + +attrDecoder.xy = attrDataSem1.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); + +// 0 +backupReg0i = R1i.x; +backupReg1i = R1i.y; +R1i.x = backupReg0i; +R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) * 2.0); +R1i.y = backupReg1i; +R1i.y = floatBitsToInt(intBitsToFloat(R1i.y) * 2.0); +R1i.z = 0x3f800000; +R0i.w = 0; +R3i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].z) * intBitsToFloat(0x437f0000)); +PS0i = R3i.z; + +R0i.xy = ivec4(textureSize(textureUnitVS0, 0),1,1).xy; + +// export +gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); + +// 0 +R127i.z = floatBitsToInt(float(R0i.x)); +PS0i = R127i.z; +// 1 +R127i.y = floatBitsToInt(float(R0i.y)); +PS1i = R127i.y; +// 2 +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); +// 3 +R3i.x = floatBitsToInt((-(intBitsToFloat(PS0i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.x))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); +// 4 +R3i.y = floatBitsToInt((-(intBitsToFloat(PS1i)) * intBitsToFloat(0x3c23d70a) + intBitsToFloat(R2i.y))); +// export +passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), 4.0); +} diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt similarity index 73% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt index 90ba560c..3c549f63 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_CelShadingRemoval/rules.txt @@ -1,28 +1,28 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = All NPC No Cel-Shading Pack -path = "The Legend of Zelda: Breath of the Wild/Enhancements/Cel-Shading Removal/Cel-Shading - Main" -description = Changes the type of shading on Link and the world. -version = 3 - -[Preset] -name = Cel-Shading Disabled -$mode = 4 - -[Preset] -name = Light Shading -$mode = 6 - -[Preset] -name = Painting Shading (World) -$mode = 8 - -[Preset] -name = Painting Shading (World & Link) -$mode = 10 - -[Preset] -name = Normal Mode -$mode = 0 - +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = All NPC No Cel-Shading Pack +path = "The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Cel-Shading - Main" +description = Changes the type of shading on Link and the world. +version = 3 + +[Preset] +name = Cel-Shading Disabled +$mode = 4 + +[Preset] +name = Light Shading +$mode = 6 + +[Preset] +name = Painting Shading (World) +$mode = 8 + +[Preset] +name = Painting Shading (World & Link) +$mode = 10 + +[Preset] +name = Normal Mode +$mode = 0 + # Credits - SkalFate & Altros \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt similarity index 98% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt index 84a05bdc..ede1c223 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/57cecf2ed6c8e3f0_00000003c9249749_ps.txt @@ -1,952 +1,952 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader 57cecf2ed6c8e3f0 -- -- Fragment Shader where links gets drawn in the menu - -uniform ivec4 uf_remappedPS[29]; -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x37b40000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf514c000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf55b2000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf55b2000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x389a4800 res 4x4x1 dim 3 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 10) uniform sampler2DArrayShadow textureUnitPS10;// Tex10 addr 0xf494a800 res 2048x2048x1 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 17) uniform sampler2D textureUnitPS17;// Tex17 addr 0x389a3800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem4; -layout(location = 3) in vec4 passParameterSem5; -layout(location = 4) in vec4 passParameterSem6; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R17i = ivec4(0); -ivec4 R18i = ivec4(0); -ivec4 R19i = ivec4(0); -ivec4 R20i = ivec4(0); -ivec4 R21i = ivec4(0); -ivec4 R22i = ivec4(0); -ivec4 R23i = ivec4(0); -ivec4 R24i = ivec4(0); -ivec4 R25i = ivec4(0); -ivec4 R26i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; - -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem1); -R2i = floatBitsToInt(passParameterSem4); -R3i = floatBitsToInt(passParameterSem5); -R4i = floatBitsToInt(passParameterSem6); - -R5i.w = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.xy)).x); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R4i.zw)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS7, intBitsToFloat(R0i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xyzw); - -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R8i.x) * 2.0 + -(1.0))); -R127i.y = floatBitsToInt((intBitsToFloat(R8i.y) * 2.0 + -(1.0))); -R127i.z = floatBitsToInt((intBitsToFloat(R8i.z) * 2.0 + -(1.0))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.w = R124i.w; -R125i.x = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R6i.x)); -PS0i = R125i.x; -// 1 -R20i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.w)))); -PV1i.x = R20i.x; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.w)))); -R9i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[2].y))); -R125i.w = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R6i.y)); -PS1i = R125i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[3].x))); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R20i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R20i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R21i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -R13i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -R12i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R20i.x), intBitsToFloat(uf_remappedPS[4].x))); -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 5 -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R6i.w)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R126i.z = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R6i.z)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(R126i.x))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 6 -R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV1i.y))); -R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R20i.x), intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -R12i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS1i))); -PS0i = R10i.z; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R6i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV0i.z)); -PS1i = R6i.x; -// 8 -backupReg0i = R126i.x; -backupReg1i = R127i.w; -R126i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R7i.x)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R20i.x), intBitsToFloat(uf_remappedPS[5].x))); -R6i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(backupReg0i)); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R7i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PS0i = R127i.z; -// 9 -R7i.x = floatBitsToInt(roundEven(0.0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(R7i.w)); -R125i.z = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(R7i.z)); -R6i.w = 0; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV0i.y))); -PS1i = R124i.x; -// 10 -backupReg0i = R125i.w; -backupReg0i = R125i.w; -backupReg1i = R127i.x; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(R125i.x), -(intBitsToFloat(R125i.x)))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(max(intBitsToFloat(R126i.z), -(intBitsToFloat(R126i.z)))); -R125i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -R125i.y = floatBitsToInt(max(intBitsToFloat(backupReg1i), -(intBitsToFloat(backupReg1i)))); -PS0i = R125i.y; -// 11 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -backupReg1i = R127i.y; -backupReg1i = R127i.y; -backupReg2i = R125i.z; -backupReg2i = R125i.z; -R126i.x = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 4.0); -R127i.y = floatBitsToInt(max(intBitsToFloat(backupReg1i), -(intBitsToFloat(backupReg1i)))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 4.0); -R125i.z = floatBitsToInt(max(intBitsToFloat(backupReg2i), -(intBitsToFloat(backupReg2i)))); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 4.0); -PV1i.w = floatBitsToInt(max(intBitsToFloat(R127i.w), -(intBitsToFloat(R127i.w)))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 4.0); -R14i.z = R7i.x; -PS1i = R14i.z; -// 12 -backupReg0i = R125i.w; -R5i.x = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x38d1b717) + 0.5)); -R5i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3903126f) + 0.5)); -R15i.z = R7i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R124i.x))); -PV0i.w = R123i.w; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); -PS0i = R125i.w; -// 13 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R125i.z))); -PV1i.z = R123i.z; -R7i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)); -R16i.z = R7i.x; -PS1i = R16i.z; -// 14 -R127i.x = floatBitsToInt(-(intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.y)); -PV0i.x = R127i.x; -R7i.y = 0x3f800000; -R17i.z = R7i.x; -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(PV1i.z))); -PV0i.w = R125i.w; -R11i.w = uf_remappedPS[6].z; -PS0i = R11i.w; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R21i.x),intBitsToFloat(R13i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R12i.y),intBitsToFloat(R12i.w),intBitsToFloat(R10i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = tempi.x; -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PS1i = R127i.z; -// 16 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(fract(intBitsToFloat(R2i.x))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R125i.w))); -R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].w))); -R125i.w = floatBitsToInt(fract(intBitsToFloat(R2i.y))); -PV0i.w = R125i.w; -PS0i = R21i.x; -PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); -// 17 -PV1i.x = R12i.z; -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.y = clampFI32(PV1i.y); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.x)); -PV1i.z = clampFI32(PV1i.z); -PV1i.w = R13i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -R7i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PS0i)) + intBitsToFloat(R12i.y))); -PS1i = R7i.x; -// 18 -R10i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R10i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PV1i.w)) + intBitsToFloat(R12i.w))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z)); -R9i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) * intBitsToFloat(0x3ba3d70a)); -PS0i = R9i.w; -// 19 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.x))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.y))); -R2i.z = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(0x437f0000)); -R18i.w = floatBitsToInt((-(intBitsToFloat(R8i.w)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); -R2i.w = floatBitsToInt(max(-(intBitsToFloat(R125i.z)), 0.0)); -PS1i = R2i.w; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R6i.y),intBitsToFloat(R10i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.w = floatBitsToInt(-(intBitsToFloat(R8i.w)) + 1.0); -PS0i = R5i.w; -// 21 -R11i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R6i.y),intBitsToFloat(R10i.x),0.0))); -PV1i.x = R11i.x; -PV1i.y = R11i.x; -PV1i.z = R11i.x; -PV1i.w = R11i.x; -R11i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -PS1i = R11i.z; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),intBitsToFloat(R7i.y)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.w = 0; -PS0i = R10i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),intBitsToFloat(R7i.y)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),intBitsToFloat(R7i.y)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R9i.x; -// 3 -R127i.x = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(uf_remappedPS[12].x)); -PV1i.x = R127i.x; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R125i.z = floatBitsToInt(intBitsToFloat(R12i.w) + intBitsToFloat(uf_remappedPS[12].y)); -PV1i.z = R125i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(uf_remappedPS[12].z)); -PV1i.w = R125i.w; -R127i.w = int(intBitsToFloat(R2i.z)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(min(intBitsToFloat(R2i.w), 1.0)); -PS0i = R127i.z; -// 5 -R126i.x = floatBitsToInt((intBitsToFloat(R5i.w) * 0.5 + 0.5)); -R127i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R8i.w)),intBitsToFloat(R5i.w)) + intBitsToFloat(R5i.w))); -PV1i.z = R123i.z; -R13i.w = 0; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS1i))); -PV0i.y = R127i.w & 0x000000fc; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(0x3c23d70a)); -PS0i = clampFI32(PS0i); -// 7 -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); -R20i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R126i.x))); -R20i.y = floatBitsToInt(intBitsToFloat(R20i.y) / 2.0); -PV1i.y = R20i.y; -R123i.z = floatBitsToInt((-(intBitsToFloat(R8i.w)) * intBitsToFloat(0x40400000) + 4.0)); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.y))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(float(PV0i.y)); -// 8 -R24i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3b820821)); -PV0i.x = R24i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),-(intBitsToFloat(PV1i.y))) + intBitsToFloat(R127i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -R2i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[13].x) + -(intBitsToFloat(uf_remappedPS[14].x))); -R124i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -PS0i = R124i.w; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); -PV1i.y = R123i.y; -R8i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * 0.25 + 0.25)); -R7i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[13].y) + -(intBitsToFloat(uf_remappedPS[14].y))); -R125i.w = floatBitsToInt(intBitsToFloat(R20i.y) + intBitsToFloat(PV0i.y)); -PS1i = R125i.w; -// 10 -R13i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[13].z) + -(intBitsToFloat(uf_remappedPS[14].z))); -R21i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R24i.x)) + intBitsToFloat(PV1i.y))); -PV0i.y = R21i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R124i.w))); -PV0i.z = R127i.z; -R19i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R24i.x)) + intBitsToFloat(PV1i.y))); -PV0i.w = R19i.w; -R22i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R24i.x)) + intBitsToFloat(PV1i.y))); -PS0i = R22i.x; -// 11 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),-(intBitsToFloat(PV0i.z))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -R22i.y = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R22i.y = clampFI32(R22i.y); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),-(intBitsToFloat(PV0i.z))) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),-(intBitsToFloat(PV0i.z))) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R125i.w)); -// 12 -R23i.x = floatBitsToInt(0.25 * intBitsToFloat(PS1i)); -R7i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -R6i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); -R8i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.z)); -R13i.z = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R13i.z = clampFI32(R13i.z); -PS0i = R13i.z; -// 13 -R25i.x = floatBitsToInt((intBitsToFloat(R4i.z) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R25i.x = clampFI32(R25i.x); -R4i.y = R0i.y; -R7i.z = 0; -PV1i.w = R127i.w & int(1); -R4i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(uf_remappedPS[6].z)); -PS1i = R4i.x; -// 14 -R8i.x = R0i.x; -R8i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(uf_remappedPS[6].w)); -R26i.w = floatBitsToInt(float(PV1i.w)); -PS0i = R26i.w; -R4i.z = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R8i.xy)).x); -R19i.xyz = floatBitsToInt(textureLod(textureUnitPS17, intBitsToFloat(R5i.xy),0.0).xyz); -R9i.w = floatBitsToInt(textureLod(textureUnitPS6, intBitsToFloat(R9i.xy),intBitsToFloat(R9i.w)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R2i.xy)).w); -// 0 -backupReg0i = R2i.x; -backupReg0i = R2i.x; -backupReg0i = R2i.x; -R2i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * 0.5 + 0.5)); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(R8i.y)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.y = R127i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(R4i.z)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R8i.z))) + intBitsToFloat(backupReg0i))); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), -(intBitsToFloat(PV0i.z)))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), -(intBitsToFloat(PV0i.y)))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), -(intBitsToFloat(PV0i.z)))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), -(intBitsToFloat(PV0i.y)))); -PS1i = R126i.x; -// 2 -backupReg0i = R127i.y; -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R9i.z)),-(intBitsToFloat(R10i.y)),-(intBitsToFloat(R20i.x))) + vec3(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.x))); -PV0i.x = R127i.x; -PV0i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R20i.x)) + intBitsToFloat(PV1i.y)); -PS0i = R127i.w; -// 3 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(uf_remappedPS[15].w))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV0i.w)); -R125i.z = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R126i.x)); -PV1i.z = R125i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_remappedPS[15].w))); -PS1i = R3i.y; -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.y))); -R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.z))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[15].w))); -R125i.x = uf_remappedPS[16].y; -PS0i = R125i.x; -// 5 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PV1i.x = R127i.x; -R125i.y = uf_remappedPS[17].y; -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R124i.w = uf_remappedPS[18].y; -R127i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(R125i.w)); -PS1i = R127i.w; -// 6 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(PV1i.z)),-0.0),vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(PV1i.z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.x = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(uf_remappedPS[19].z)); -R6i.x = clampFI32(R6i.x); -PS0i = R6i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[20].x),intBitsToFloat(uf_remappedPS[20].y),intBitsToFloat(uf_remappedPS[20].z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R6i.y),intBitsToFloat(R10i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.y = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 8 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].w), intBitsToFloat(uf_remappedPS[15].w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R125i.z)), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.y)), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(backupReg0i)), intBitsToFloat(PS1i))); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R7i.y))); -PS0i = R8i.z; -// 9 -R126i.x = floatBitsToInt((intBitsToFloat(R21i.x) * 1.5 + intBitsToFloat(PV0i.w))); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt((intBitsToFloat(R13i.y) * 1.5 + intBitsToFloat(PV0i.z))); -PV1i.y = R126i.y; -R125i.z = floatBitsToInt((intBitsToFloat(R12i.z) * 1.5 + intBitsToFloat(PV0i.y))); -PV1i.z = R125i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R21i.x) + intBitsToFloat(PV0i.w)); -R127i.y = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.z)); -PS1i = R127i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.x))); -PS0i = R8i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.w),intBitsToFloat(R127i.y),intBitsToFloat(R6i.w),-0.0),vec4(intBitsToFloat(R125i.w),intBitsToFloat(R127i.y),intBitsToFloat(R6i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R8i.w))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R6i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(0x3a83126f) * intBitsToFloat(PS1i)); -R6i.w = uf_remappedPS[21].x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 13 -backupReg0i = R125i.z; -backupReg1i = R127i.y; -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(R20i.x))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(R10i.y))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS0i))); -PV1i.z = R125i.z; -R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R9i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R12i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), -(intBitsToFloat(R10i.w)))); -PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -PS0i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3f3504f3)); -// 15 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R125i.z; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((intBitsToFloat(backupReg2i) * intBitsToFloat(0xbf3504f3) + intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),-(intBitsToFloat(R5i.w))) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.x))); -PS1i = R126i.x; -// 16 -redcCUBE(vec4(intBitsToFloat(R11i.z),intBitsToFloat(R11i.z),intBitsToFloat(R11i.x),intBitsToFloat(R11i.y)),vec4(intBitsToFloat(R11i.y),intBitsToFloat(R11i.x),intBitsToFloat(R11i.z),intBitsToFloat(R11i.z)),cubeMapSTM,cubeMapFaceId); -R124i.x = floatBitsToInt(cubeMapSTM.x); -R124i.y = floatBitsToInt(cubeMapSTM.y); -R124i.z = floatBitsToInt(cubeMapSTM.z); -R124i.w = cubeMapFaceId; -PV0i.x = R124i.x; -PV0i.y = R124i.y; -PV0i.z = R124i.z; -PV0i.w = R124i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.y),-(intBitsToFloat(R3i.y))) + intBitsToFloat(PV1i.w))); -PS0i = R122i.x; -// 17 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R21i.x),-(intBitsToFloat(R3i.x))) + intBitsToFloat(PS0i))); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(R1i.w))); -R18i.z = PV0i.w; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(0x3f3504f3) + intBitsToFloat(R125i.z))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 18 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.x)) + intBitsToFloat(R1i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PS1i)) + 1.5)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PS1i)) + 1.5)); -PV0i.w = R123i.w; -R1i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + -(0.5)); -R1i.z = clampFI32(R1i.z); -PS0i = R1i.z; -// 19 -R18i.x = PV0i.w; -R18i.y = PV0i.y; -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(PV0i.z)) + -(intBitsToFloat(PV0i.z)))); -PV1i.w = R124i.w; -// 20 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R21i.x)) + intBitsToFloat(R126i.x))/2.0); -PV0i.z = R123i.z; -// 21 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + 0.5); -// 22 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 23 -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PS0i))); -// 0 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(uf_remappedPS[22].x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(uf_remappedPS[23].x))); -// 1 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[23].y)) + intBitsToFloat(PV0i.z))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(uf_remappedPS[24].x))); -// 2 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[22].y)) + intBitsToFloat(backupReg0i))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(uf_remappedPS[25].x))); -// 3 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[24].y)) + intBitsToFloat(R124i.z))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(uf_remappedPS[23].z)) + intBitsToFloat(backupReg0i))); -// 4 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[25].y)) + intBitsToFloat(R125i.z))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(uf_remappedPS[22].z)) + intBitsToFloat(backupReg0i))); -// 5 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(uf_remappedPS[24].z)) + intBitsToFloat(R125i.x))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[23].w) + intBitsToFloat(backupReg0i)); -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(uf_remappedPS[25].z)) + intBitsToFloat(R126i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[22].w) + intBitsToFloat(R127i.y)); -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R125i.z; -// 7 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[25].w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[24].w) + intBitsToFloat(R124i.y)); -// 8 -backupReg0i = R2i.w; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.z))); -PV0i.x = R126i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R125i.z))); -PV0i.y = R124i.y; -R125i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(0xba83126f)); -R125i.z = clampFI32(R125i.z); -PV0i.z = R125i.z; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[14].x))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[14].y))); -PS0i = R7i.y; -// 9 -R14i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(0x39800000)); -R14i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0x39800000)); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[14].z))); -R14i.w = PV0i.z; -R15i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(0x39800000)); -PS1i = R15i.x; -// 10 -R16i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(0xb9800000)); -R15i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(0xb9800000)); -R15i.w = R125i.z; -R16i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(0x39800000)); -PS0i = R16i.y; -// 11 -R17i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(0xb9800000)); -R17i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(0xb9800000)); -R16i.w = R125i.z; -R17i.w = R125i.z; -PS1i = R17i.w; -R14i.w = floatBitsToInt(texture(textureUnitPS10, vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),intBitsToFloat(R14i.w)))); -R15i.z = floatBitsToInt(texture(textureUnitPS10, vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),intBitsToFloat(R15i.z),intBitsToFloat(R15i.w)))); -R16i.y = floatBitsToInt(texture(textureUnitPS10, vec4(intBitsToFloat(R16i.x),intBitsToFloat(R16i.y),intBitsToFloat(R16i.z),intBitsToFloat(R16i.w)))); -R17i.x = floatBitsToInt(texture(textureUnitPS10, vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R17i.z),intBitsToFloat(R17i.w)))); -R0i.x = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.xy)).x); -R18i.xyz = floatBitsToInt(textureLod(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R18i.xy),R18i.z),cubeMapArrayIndex9),intBitsToFloat(R18i.w)).xyz); -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R19i.x),intBitsToFloat(R19i.y),intBitsToFloat(R19i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[26].x),intBitsToFloat(uf_remappedPS[26].y),intBitsToFloat(uf_remappedPS[26].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R14i.w) + intBitsToFloat(R15i.z)); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 1 -backupReg0i = R0i.x; -backupReg1i = R8i.z; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(backupReg0i)) + intBitsToFloat(uf_remappedPS[1].x))); -PV1i.y = R123i.y; -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R18i.x), intBitsToFloat(backupReg1i))); -R123i.w = floatBitsToInt((intBitsToFloat(R16i.y) * 0.5 + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R15i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R18i.y), intBitsToFloat(R10i.x))); -PS1i = R15i.z; -// 2 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -PV0i.x = R126i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.y)), intBitsToFloat(R1i.x))); -R123i.z = floatBitsToInt((intBitsToFloat(R17i.x) * 0.5 + intBitsToFloat(PV1i.w))/2.0); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.y)), intBitsToFloat(R11i.y))); -// 3 -R125i.x = floatBitsToInt(-(intBitsToFloat(R20i.x)) + intBitsToFloat(PV0i.y)); -R124i.y = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(PV0i.x))); -R124i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV0i.w)); -PV1i.w = R124i.w; -R18i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R18i.z), intBitsToFloat(R6i.y))); -PS1i = R18i.x; -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV1i.w))); -R6i.y = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.y),intBitsToFloat(R12i.w),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.w = tempi.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R12i.y)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R125i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R12i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R124i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R10i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R124i.w))); -PV0i.z = R123i.z; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 8 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS0i))); -// 10 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x38d1b717)); -PV0i.x = clampFI32(PV0i.x); -// 11 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -// 12 -backupReg0i = R6i.w; -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg0i))); -// 0 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(uf_remappedPS[15].w))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].y), intBitsToFloat(uf_remappedPS[15].w))); -// 1 -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].z), intBitsToFloat(uf_remappedPS[15].w))); -PV1i.z = R125i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R124i.y)),-(intBitsToFloat(PV1i.z)),-0.0),vec4(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R5i.w)),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[27].z)) + intBitsToFloat(uf_remappedPS[19].y))); -R122i.x = clampFI32(R122i.x); -PS0i = R122i.x; -// 3 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), -(intBitsToFloat(R13i.w)))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),-(intBitsToFloat(R125i.z))) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.w = R125i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R21i.x),intBitsToFloat(R13i.y),intBitsToFloat(PV0i.x),0.0),vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R124i.y)),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PS1i = R122i.x; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R2i.x)); -PV0i.y = clampFI32(PV0i.y); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(R20i.y))) + intBitsToFloat(PV1i.x))); -PV0i.z = R123i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(backupReg0i))); -PV0i.w = R125i.w; -// 7 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(intBitsToFloat(R20i.y) + intBitsToFloat(PV0i.z)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R19i.w),-(intBitsToFloat(PV0i.x))) + intBitsToFloat(R19i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R21i.y),-(intBitsToFloat(PV0i.x))) + intBitsToFloat(R21i.y))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R22i.x),-(intBitsToFloat(PV0i.x))) + intBitsToFloat(R22i.x))); -PS1i = R122i.x; -// 8 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].x), intBitsToFloat(R125i.w))); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PS1i)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].x),intBitsToFloat(R125i.x)) + intBitsToFloat(R2i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].y),intBitsToFloat(R125i.x)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R8i.y))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].z),intBitsToFloat(R125i.x)) + intBitsToFloat(R11i.z))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R1i.w))); -PS1i = R124i.z; -// 10 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R24i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R23i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R23i.x))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R23i.x))); -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R24i.x)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PS0i = R122i.x; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R124i.z))); -PV1i.x = R126i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R24i.x)),intBitsToFloat(R124i.w)) + intBitsToFloat(R124i.w))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R22i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R13i.z))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].x), intBitsToFloat(PV0i.y))); -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R8i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].y), intBitsToFloat(R125i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R25i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PS0i = R122i.x; -// 13 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(R18i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R126i.x)) + intBitsToFloat(R15i.z))); -PV1i.w = R123i.w; -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PS0i)); -PS1i = R127i.z; -// 14 -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); -PV0i.x = R126i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(PS1i)) + intBitsToFloat(0x3f7851ec)); -R124i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); -PV0i.w = R124i.w; -// 15 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(0x3f11eb85)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3f547ae1)); -R26i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R6i.w)) + intBitsToFloat(R127i.z))); -PS1i = R26i.x; -// 16 -R26i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R6i.w)) + intBitsToFloat(R126i.x))); -R26i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R6i.w)) + intBitsToFloat(R124i.w))); -// export -passPixelColor0 = vec4(intBitsToFloat(R26i.x), intBitsToFloat(R26i.y), intBitsToFloat(R26i.z), intBitsToFloat(R26i.w)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader 57cecf2ed6c8e3f0 -- -- Fragment Shader where links gets drawn in the menu + +uniform ivec4 uf_remappedPS[29]; +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x37b40000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf514c000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf55b2000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf55b2000 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x389a4800 res 4x4x1 dim 3 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 10) uniform sampler2DArrayShadow textureUnitPS10;// Tex10 addr 0xf494a800 res 2048x2048x1 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 6 6 2 border: 2 +layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x389a5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 17) uniform sampler2D textureUnitPS17;// Tex17 addr 0x389a3800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem4; +layout(location = 3) in vec4 passParameterSem5; +layout(location = 4) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; +void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) +{ +// stm -> x .. s, y .. t, z .. MajorAxis*2.0 +vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); +float rx = inputCoord.x; +float ry = inputCoord.y; +float rz = inputCoord.z; +if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) +{ +stm.z = rx*2.0; +stm.xy = vec2(ry,rz); +if( rx >= 0.0 ) +{ +faceId = 0; +} +else +{ +faceId = 1; +} +} +else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) +{ +stm.z = ry*2.0; +stm.xy = vec2(rx,rz); +if( ry >= 0.0 ) +{ +faceId = 2; +} +else +{ +faceId = 3; +} +} +else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) +{ +stm.z = rz*2.0; +stm.xy = vec2(rx,ry); +if( rz >= 0.0 ) +{ +faceId = 4; +} +else +{ +faceId = 5; +} +} +} +vec3 redcCUBEReverse(vec2 st, int faceId) +{ +st.yx = st.xy; +vec3 v; +float majorAxis = 1.0; +if( faceId == 0 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = 1.0; +} +else if( faceId == 1 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = -1.0; +} +else if( faceId == 2 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = 1.0; +} +else if( faceId == 3 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = -1.0; +} +else if( faceId == 4 ) +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = 1.0; +} +else +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = -1.0; +} +return v; +} +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R7i = ivec4(0); +ivec4 R8i = ivec4(0); +ivec4 R9i = ivec4(0); +ivec4 R10i = ivec4(0); +ivec4 R11i = ivec4(0); +ivec4 R12i = ivec4(0); +ivec4 R13i = ivec4(0); +ivec4 R14i = ivec4(0); +ivec4 R15i = ivec4(0); +ivec4 R16i = ivec4(0); +ivec4 R17i = ivec4(0); +ivec4 R18i = ivec4(0); +ivec4 R19i = ivec4(0); +ivec4 R20i = ivec4(0); +ivec4 R21i = ivec4(0); +ivec4 R22i = ivec4(0); +ivec4 R23i = ivec4(0); +ivec4 R24i = ivec4(0); +ivec4 R25i = ivec4(0); +ivec4 R26i = ivec4(0); +ivec4 R122i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +float cubeMapArrayIndex9 = 0.0; + +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem1); +R2i = floatBitsToInt(passParameterSem4); +R3i = floatBitsToInt(passParameterSem5); +R4i = floatBitsToInt(passParameterSem6); + +R5i.w = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.xy)).x); +R8i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R4i.zw)).xyzw); +R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS7, intBitsToFloat(R0i.xy)).xyzw); +R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); +R4i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xyzw); + +// 0 +R127i.x = floatBitsToInt((intBitsToFloat(R8i.x) * 2.0 + -(1.0))); +R127i.y = floatBitsToInt((intBitsToFloat(R8i.y) * 2.0 + -(1.0))); +R127i.z = floatBitsToInt((intBitsToFloat(R8i.z) * 2.0 + -(1.0))); +R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.w = R124i.w; +R125i.x = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R6i.x)); +PS0i = R125i.x; +// 1 +R20i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.w)))); +PV1i.x = R20i.x; +R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.w)))); +R9i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[2].y))); +R125i.w = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R6i.y)); +PS1i = R125i.w; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[3].x))); +PS0i = R126i.x; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R20i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R20i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 4 +R21i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); +R13i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); +R12i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R20i.x), intBitsToFloat(uf_remappedPS[4].x))); +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 5 +R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R6i.w)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PV0i.w))); +PV1i.y = R123i.y; +R126i.z = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R6i.z)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(R126i.x))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); +// 6 +R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV1i.y))); +R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R20i.x), intBitsToFloat(PS1i))); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PV1i.w))); +PV0i.z = R123i.z; +R12i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(PS1i))); +R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS1i))); +PS0i = R10i.z; +// 7 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.w = tempi.x; +R6i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV0i.z)); +PS1i = R6i.x; +// 8 +backupReg0i = R126i.x; +backupReg1i = R127i.w; +R126i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R7i.x)); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R20i.x), intBitsToFloat(uf_remappedPS[5].x))); +R6i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(backupReg0i)); +R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R7i.y)); +R127i.z = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); +R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); +PS0i = R127i.z; +// 9 +R7i.x = floatBitsToInt(roundEven(0.0)); +R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(R7i.w)); +R125i.z = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(R7i.z)); +R6i.w = 0; +R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV0i.y))); +PS1i = R124i.x; +// 10 +backupReg0i = R125i.w; +backupReg0i = R125i.w; +backupReg1i = R127i.x; +backupReg1i = R127i.x; +R127i.x = floatBitsToInt(max(intBitsToFloat(R125i.x), -(intBitsToFloat(R125i.x)))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(R127i.z))); +R127i.z = floatBitsToInt(max(intBitsToFloat(R126i.z), -(intBitsToFloat(R126i.z)))); +R125i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); +R125i.y = floatBitsToInt(max(intBitsToFloat(backupReg1i), -(intBitsToFloat(backupReg1i)))); +PS0i = R125i.y; +// 11 +backupReg0i = R126i.x; +backupReg0i = R126i.x; +backupReg1i = R127i.y; +backupReg1i = R127i.y; +backupReg2i = R125i.z; +backupReg2i = R125i.z; +R126i.x = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); +R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 4.0); +R127i.y = floatBitsToInt(max(intBitsToFloat(backupReg1i), -(intBitsToFloat(backupReg1i)))); +R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 4.0); +R125i.z = floatBitsToInt(max(intBitsToFloat(backupReg2i), -(intBitsToFloat(backupReg2i)))); +R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 4.0); +PV1i.w = floatBitsToInt(max(intBitsToFloat(R127i.w), -(intBitsToFloat(R127i.w)))); +PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 4.0); +R14i.z = R7i.x; +PS1i = R14i.z; +// 12 +backupReg0i = R125i.w; +R5i.x = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x38d1b717) + 0.5)); +R5i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3903126f) + 0.5)); +R15i.z = R7i.x; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R124i.x))); +PV0i.w = R123i.w; +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); +PS0i = R125i.w; +// 13 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.x))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(R127i.y))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R125i.z))); +PV1i.z = R123i.z; +R7i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)); +R16i.z = R7i.x; +PS1i = R16i.z; +// 14 +R127i.x = floatBitsToInt(-(intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.y)); +PV0i.x = R127i.x; +R7i.y = 0x3f800000; +R17i.z = R7i.x; +R125i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(PV1i.z))); +PV0i.w = R125i.w; +R11i.w = uf_remappedPS[6].z; +PS0i = R11i.w; +// 15 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R21i.x),intBitsToFloat(R13i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R12i.y),intBitsToFloat(R12i.w),intBitsToFloat(R10i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R125i.z = tempi.x; +R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); +PS1i = R127i.z; +// 16 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(fract(intBitsToFloat(R2i.x))); +PV0i.x = R127i.x; +PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R125i.w))); +R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].w))); +R125i.w = floatBitsToInt(fract(intBitsToFloat(R2i.y))); +PV0i.w = R125i.w; +PS0i = R21i.x; +PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); +// 17 +PV1i.x = R12i.z; +PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); +PV1i.y = clampFI32(PV1i.y); +PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.x)); +PV1i.z = clampFI32(PV1i.z); +PV1i.w = R13i.y; +PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); +R7i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PS0i)) + intBitsToFloat(R12i.y))); +PS1i = R7i.x; +// 18 +R10i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R10i.z))); +R6i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PV1i.w)) + intBitsToFloat(R12i.w))); +PV0i.z = floatBitsToInt(-(intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.y)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z)); +R9i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) * intBitsToFloat(0x3ba3d70a)); +PS0i = R9i.w; +// 19 +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.x))); +R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.y))); +R2i.z = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(0x437f0000)); +R18i.w = floatBitsToInt((-(intBitsToFloat(R8i.w)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); +R2i.w = floatBitsToInt(max(-(intBitsToFloat(R125i.z)), 0.0)); +PS1i = R2i.w; +// 20 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R6i.y),intBitsToFloat(R10i.x),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R5i.w = floatBitsToInt(-(intBitsToFloat(R8i.w)) + 1.0); +PS0i = R5i.w; +// 21 +R11i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R6i.y),intBitsToFloat(R10i.x),0.0))); +PV1i.x = R11i.x; +PV1i.y = R11i.x; +PV1i.z = R11i.x; +PV1i.w = R11i.x; +R11i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +PS1i = R11i.z; +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),intBitsToFloat(R7i.y)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R10i.w = 0; +PS0i = R10i.w; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),intBitsToFloat(R7i.y)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +PS1i = R127i.y; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),intBitsToFloat(R7i.y)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); +PS0i = R9i.x; +// 3 +R127i.x = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(uf_remappedPS[12].x)); +PV1i.x = R127i.x; +R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); +R125i.z = floatBitsToInt(intBitsToFloat(R12i.w) + intBitsToFloat(uf_remappedPS[12].y)); +PV1i.z = R125i.z; +R125i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(uf_remappedPS[12].z)); +PV1i.w = R125i.w; +R127i.w = int(intBitsToFloat(R2i.z)); +PS1i = R127i.w; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.z = floatBitsToInt(min(intBitsToFloat(R2i.w), 1.0)); +PS0i = R127i.z; +// 5 +R126i.x = floatBitsToInt((intBitsToFloat(R5i.w) * 0.5 + 0.5)); +R127i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R8i.w)),intBitsToFloat(R5i.w)) + intBitsToFloat(R5i.w))); +PV1i.z = R123i.z; +R13i.w = 0; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 6 +R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS1i))); +PV0i.y = R127i.w & 0x000000fc; +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); +PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(0x3c23d70a)); +PS0i = clampFI32(PS0i); +// 7 +R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); +R20i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R126i.x))); +R20i.y = floatBitsToInt(intBitsToFloat(R20i.y) / 2.0); +PV1i.y = R20i.y; +R123i.z = floatBitsToInt((-(intBitsToFloat(R8i.w)) * intBitsToFloat(0x40400000) + 4.0)); +PV1i.z = R123i.z; +R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.y))); +PV1i.w = R125i.w; +PS1i = floatBitsToInt(float(PV0i.y)); +// 8 +R24i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3b820821)); +PV0i.x = R24i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),-(intBitsToFloat(PV1i.y))) + intBitsToFloat(R127i.z))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); +PV0i.z = R123i.z; +R2i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[13].x) + -(intBitsToFloat(uf_remappedPS[14].x))); +R124i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); +PS0i = R124i.w; +// 9 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.z))); +R123i.y = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); +PV1i.y = R123i.y; +R8i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * 0.25 + 0.25)); +R7i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[13].y) + -(intBitsToFloat(uf_remappedPS[14].y))); +R125i.w = floatBitsToInt(intBitsToFloat(R20i.y) + intBitsToFloat(PV0i.y)); +PS1i = R125i.w; +// 10 +R13i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[13].z) + -(intBitsToFloat(uf_remappedPS[14].z))); +R21i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R24i.x)) + intBitsToFloat(PV1i.y))); +PV0i.y = R21i.y; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R124i.w))); +PV0i.z = R127i.z; +R19i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R24i.x)) + intBitsToFloat(PV1i.y))); +PV0i.w = R19i.w; +R22i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R24i.x)) + intBitsToFloat(PV1i.y))); +PS0i = R22i.x; +// 11 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),-(intBitsToFloat(PV0i.z))) + intBitsToFloat(PS0i))); +PV1i.x = R123i.x; +R22i.y = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R22i.y = clampFI32(R22i.y); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),-(intBitsToFloat(PV0i.z))) + intBitsToFloat(PV0i.y))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),-(intBitsToFloat(PV0i.z))) + intBitsToFloat(PV0i.w))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R125i.w)); +// 12 +R23i.x = floatBitsToInt(0.25 * intBitsToFloat(PS1i)); +R7i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); +R6i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); +R8i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.z)); +R13i.z = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R13i.z = clampFI32(R13i.z); +PS0i = R13i.z; +// 13 +R25i.x = floatBitsToInt((intBitsToFloat(R4i.z) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R25i.x = clampFI32(R25i.x); +R4i.y = R0i.y; +R7i.z = 0; +PV1i.w = R127i.w & int(1); +R4i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(uf_remappedPS[6].z)); +PS1i = R4i.x; +// 14 +R8i.x = R0i.x; +R8i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(uf_remappedPS[6].w)); +R26i.w = floatBitsToInt(float(PV1i.w)); +PS0i = R26i.w; +R4i.z = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).x); +R8i.y = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R8i.xy)).x); +R19i.xyz = floatBitsToInt(textureLod(textureUnitPS17, intBitsToFloat(R5i.xy),0.0).xyz); +R9i.w = floatBitsToInt(textureLod(textureUnitPS6, intBitsToFloat(R9i.xy),intBitsToFloat(R9i.w)).x); +R2i.x = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R2i.xy)).w); +// 0 +backupReg0i = R2i.x; +backupReg0i = R2i.x; +backupReg0i = R2i.x; +R2i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * 0.5 + 0.5)); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(R8i.y)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.y = R127i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(R4i.z)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.z = R123i.z; +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R8i.z))) + intBitsToFloat(backupReg0i))); +// 1 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), -(intBitsToFloat(PV0i.z)))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), -(intBitsToFloat(PV0i.y)))); +PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), -(intBitsToFloat(PV0i.z)))); +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), -(intBitsToFloat(PV0i.y)))); +PS1i = R126i.x; +// 2 +backupReg0i = R127i.y; +R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R9i.z)),-(intBitsToFloat(R10i.y)),-(intBitsToFloat(R20i.x))) + vec3(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.x))); +PV0i.x = R127i.x; +PV0i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i))); +R127i.w = floatBitsToInt(-(intBitsToFloat(R20i.x)) + intBitsToFloat(PV1i.y)); +PS0i = R127i.w; +// 3 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(uf_remappedPS[15].w))); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV0i.w)); +R125i.z = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R126i.x)); +PV1i.z = R125i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_remappedPS[15].w))); +PS1i = R3i.y; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.y))); +R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.z))); +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[15].w))); +R125i.x = uf_remappedPS[16].y; +PS0i = R125i.x; +// 5 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); +PV1i.x = R127i.x; +R125i.y = uf_remappedPS[17].y; +R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.z))); +PV1i.z = R125i.z; +R124i.w = uf_remappedPS[18].y; +R127i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(R125i.w)); +PS1i = R127i.w; +// 6 +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(PV1i.z)),-0.0),vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(PV1i.z)),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R6i.x = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(uf_remappedPS[19].z)); +R6i.x = clampFI32(R6i.x); +PS0i = R6i.x; +// 7 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[20].x),intBitsToFloat(uf_remappedPS[20].y),intBitsToFloat(uf_remappedPS[20].z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R6i.y),intBitsToFloat(R10i.x),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R11i.y = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 8 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].w), intBitsToFloat(uf_remappedPS[15].w))); +PV0i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R125i.z)), intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.y)), intBitsToFloat(PS1i))); +PV0i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(backupReg0i)), intBitsToFloat(PS1i))); +R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R7i.y))); +PS0i = R8i.z; +// 9 +R126i.x = floatBitsToInt((intBitsToFloat(R21i.x) * 1.5 + intBitsToFloat(PV0i.w))); +PV1i.x = R126i.x; +R126i.y = floatBitsToInt((intBitsToFloat(R13i.y) * 1.5 + intBitsToFloat(PV0i.z))); +PV1i.y = R126i.y; +R125i.z = floatBitsToInt((intBitsToFloat(R12i.z) * 1.5 + intBitsToFloat(PV0i.y))); +PV1i.z = R125i.z; +R125i.w = floatBitsToInt(intBitsToFloat(R21i.x) + intBitsToFloat(PV0i.w)); +R127i.y = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.z)); +PS1i = R127i.y; +// 10 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.x))); +PS0i = R8i.y; +// 11 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.w),intBitsToFloat(R127i.y),intBitsToFloat(R6i.w),-0.0),vec4(intBitsToFloat(R125i.w),intBitsToFloat(R127i.y),intBitsToFloat(R6i.w),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 12 +R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R8i.w))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R6i.z))); +PV0i.z = floatBitsToInt(intBitsToFloat(0x3a83126f) * intBitsToFloat(PS1i)); +R6i.w = uf_remappedPS[21].x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 13 +backupReg0i = R125i.z; +backupReg1i = R127i.y; +R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(R20i.x))); +R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(R10i.y))); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS0i))); +PV1i.z = R125i.z; +R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R9i.z))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i))); +PS1i = R127i.y; +// 14 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R12i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), -(intBitsToFloat(R10i.w)))); +PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); +PS0i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3f3504f3)); +// 15 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +backupReg2i = R125i.z; +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg1i))); +R125i.z = floatBitsToInt((intBitsToFloat(backupReg2i) * intBitsToFloat(0xbf3504f3) + intBitsToFloat(PS0i))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),-(intBitsToFloat(R5i.w))) + intBitsToFloat(PV0i.y))); +PV1i.w = R123i.w; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.x))); +PS1i = R126i.x; +// 16 +redcCUBE(vec4(intBitsToFloat(R11i.z),intBitsToFloat(R11i.z),intBitsToFloat(R11i.x),intBitsToFloat(R11i.y)),vec4(intBitsToFloat(R11i.y),intBitsToFloat(R11i.x),intBitsToFloat(R11i.z),intBitsToFloat(R11i.z)),cubeMapSTM,cubeMapFaceId); +R124i.x = floatBitsToInt(cubeMapSTM.x); +R124i.y = floatBitsToInt(cubeMapSTM.y); +R124i.z = floatBitsToInt(cubeMapSTM.z); +R124i.w = cubeMapFaceId; +PV0i.x = R124i.x; +PV0i.y = R124i.y; +PV0i.z = R124i.z; +PV0i.w = R124i.w; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.y),-(intBitsToFloat(R3i.y))) + intBitsToFloat(PV1i.w))); +PS0i = R122i.x; +// 17 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R21i.x),-(intBitsToFloat(R3i.x))) + intBitsToFloat(PS0i))); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(R1i.w))); +R18i.z = PV0i.w; +R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(0x3f3504f3) + intBitsToFloat(R125i.z))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); +// 18 +backupReg0i = R1i.x; +R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.x)) + intBitsToFloat(R1i.z))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PS1i)) + 1.5)); +PV0i.y = R123i.y; +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PS1i)) + 1.5)); +PV0i.w = R123i.w; +R1i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + -(0.5)); +R1i.z = clampFI32(R1i.z); +PS0i = R1i.z; +// 19 +R18i.x = PV0i.w; +R18i.y = PV0i.y; +R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(PV0i.z)) + -(intBitsToFloat(PV0i.z)))); +PV1i.w = R124i.w; +// 20 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R21i.x)) + intBitsToFloat(R126i.x))/2.0); +PV0i.z = R123i.z; +// 21 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); +PV1i.x = R123i.x; +R1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + 0.5); +// 22 +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); +// 23 +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PS0i))); +// 0 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(uf_remappedPS[22].x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(uf_remappedPS[23].x))); +// 1 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[23].y)) + intBitsToFloat(PV0i.z))); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(uf_remappedPS[24].x))); +// 2 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[22].y)) + intBitsToFloat(backupReg0i))); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(uf_remappedPS[25].x))); +// 3 +backupReg0i = R125i.x; +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[24].y)) + intBitsToFloat(R124i.z))); +R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(uf_remappedPS[23].z)) + intBitsToFloat(backupReg0i))); +// 4 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[25].y)) + intBitsToFloat(R125i.z))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(uf_remappedPS[22].z)) + intBitsToFloat(backupReg0i))); +// 5 +backupReg0i = R124i.y; +R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(uf_remappedPS[24].z)) + intBitsToFloat(R125i.x))); +PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[23].w) + intBitsToFloat(backupReg0i)); +// 6 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(uf_remappedPS[25].z)) + intBitsToFloat(R126i.x))); +PV0i.y = R123i.y; +PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[22].w) + intBitsToFloat(R127i.y)); +R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); +PS0i = R125i.z; +// 7 +PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[25].w) + intBitsToFloat(PV0i.y)); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[24].w) + intBitsToFloat(R124i.y)); +// 8 +backupReg0i = R2i.w; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.z))); +PV0i.x = R126i.x; +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R125i.z))); +PV0i.y = R124i.y; +R125i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(0xba83126f)); +R125i.z = clampFI32(R125i.z); +PV0i.z = R125i.z; +R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[14].x))); +R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[14].y))); +PS0i = R7i.y; +// 9 +R14i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(0x39800000)); +R14i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0x39800000)); +R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[14].z))); +R14i.w = PV0i.z; +R15i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(0x39800000)); +PS1i = R15i.x; +// 10 +R16i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(0xb9800000)); +R15i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(0xb9800000)); +R15i.w = R125i.z; +R16i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(0x39800000)); +PS0i = R16i.y; +// 11 +R17i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(0xb9800000)); +R17i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(0xb9800000)); +R16i.w = R125i.z; +R17i.w = R125i.z; +PS1i = R17i.w; +R14i.w = floatBitsToInt(texture(textureUnitPS10, vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),intBitsToFloat(R14i.w)))); +R15i.z = floatBitsToInt(texture(textureUnitPS10, vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),intBitsToFloat(R15i.z),intBitsToFloat(R15i.w)))); +R16i.y = floatBitsToInt(texture(textureUnitPS10, vec4(intBitsToFloat(R16i.x),intBitsToFloat(R16i.y),intBitsToFloat(R16i.z),intBitsToFloat(R16i.w)))); +R17i.x = floatBitsToInt(texture(textureUnitPS10, vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R17i.z),intBitsToFloat(R17i.w)))); +R0i.x = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.xy)).x); +R18i.xyz = floatBitsToInt(textureLod(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R18i.xy),R18i.z),cubeMapArrayIndex9),intBitsToFloat(R18i.w)).xyz); +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R19i.x),intBitsToFloat(R19i.y),intBitsToFloat(R19i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[26].x),intBitsToFloat(uf_remappedPS[26].y),intBitsToFloat(uf_remappedPS[26].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(intBitsToFloat(R14i.w) + intBitsToFloat(R15i.z)); +PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); +// 1 +backupReg0i = R0i.x; +backupReg1i = R8i.z; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(backupReg0i)) + intBitsToFloat(uf_remappedPS[1].x))); +PV1i.y = R123i.y; +R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R18i.x), intBitsToFloat(backupReg1i))); +R123i.w = floatBitsToInt((intBitsToFloat(R16i.y) * 0.5 + intBitsToFloat(PS0i))); +PV1i.w = R123i.w; +R15i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R18i.y), intBitsToFloat(R10i.x))); +PS1i = R15i.z; +// 2 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); +PV0i.x = R126i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.y)), intBitsToFloat(R1i.x))); +R123i.z = floatBitsToInt((intBitsToFloat(R17i.x) * 0.5 + intBitsToFloat(PV1i.w))/2.0); +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y))); +PS0i = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.y)), intBitsToFloat(R11i.y))); +// 3 +R125i.x = floatBitsToInt(-(intBitsToFloat(R20i.x)) + intBitsToFloat(PV0i.y)); +R124i.y = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(PS0i)); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(PV0i.x))); +R124i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV0i.w)); +PV1i.w = R124i.w; +R18i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R18i.z), intBitsToFloat(R6i.y))); +PS1i = R18i.x; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV1i.w))); +R6i.y = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.z)); +// 5 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.y),intBitsToFloat(R12i.w),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),1.0,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R125i.w = tempi.x; +// 6 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R12i.y)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R125i.x))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R12i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R124i.y))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R10i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R124i.w))); +PV0i.z = R123i.z; +// 7 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +// 8 +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 9 +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS0i))); +// 10 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x38d1b717)); +PV0i.x = clampFI32(PV0i.x); +// 11 +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); +// 12 +backupReg0i = R6i.w; +R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg0i))); +// 0 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(uf_remappedPS[15].w))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].y), intBitsToFloat(uf_remappedPS[15].w))); +// 1 +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].z), intBitsToFloat(uf_remappedPS[15].w))); +PV1i.z = R125i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R124i.y)),-(intBitsToFloat(PV1i.z)),-0.0),vec4(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R5i.w)),0.0))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[27].z)) + intBitsToFloat(uf_remappedPS[19].y))); +R122i.x = clampFI32(R122i.x); +PS0i = R122i.x; +// 3 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), -(intBitsToFloat(R13i.w)))); +// 4 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),-(intBitsToFloat(R125i.z))) + intBitsToFloat(PS1i))); +PV0i.x = R123i.x; +R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +PV0i.w = R125i.w; +// 5 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R21i.x),intBitsToFloat(R13i.y),intBitsToFloat(PV0i.x),0.0),vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R124i.y)),1.0,0.0))); +tempi.x = clampFI32(tempi.x); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); +PS1i = R122i.x; +// 6 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS1i))); +PV0i.x = R126i.x; +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R2i.x)); +PV0i.y = clampFI32(PV0i.y); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(R20i.y))) + intBitsToFloat(PV1i.x))); +PV0i.z = R123i.z; +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(backupReg0i))); +PV0i.w = R125i.w; +// 7 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.y))); +PV1i.y = floatBitsToInt(intBitsToFloat(R20i.y) + intBitsToFloat(PV0i.z)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R19i.w),-(intBitsToFloat(PV0i.x))) + intBitsToFloat(R19i.w))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R21i.y),-(intBitsToFloat(PV0i.x))) + intBitsToFloat(R21i.y))); +PV1i.w = R123i.w; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R22i.x),-(intBitsToFloat(PV0i.x))) + intBitsToFloat(R22i.x))); +PS1i = R122i.x; +// 8 +backupReg0i = R126i.x; +backupReg0i = R126i.x; +backupReg0i = R126i.x; +R126i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.z)); +R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].x), intBitsToFloat(R125i.w))); +R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PS1i)); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); +// 9 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].x),intBitsToFloat(R125i.x)) + intBitsToFloat(R2i.w))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].y),intBitsToFloat(R125i.x)) + intBitsToFloat(R7i.y))); +PV1i.y = R123i.y; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R8i.y))); +R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].z),intBitsToFloat(R125i.x)) + intBitsToFloat(R11i.z))); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R1i.w))); +PS1i = R124i.z; +// 10 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R24i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R23i.x))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R23i.x))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R23i.x))); +R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R24i.x)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +PS0i = R122i.x; +// 11 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R124i.z))); +PV1i.x = R126i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R24i.x)),intBitsToFloat(R124i.w)) + intBitsToFloat(R124i.w))); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R22i.y))); +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R13i.z))); +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].x), intBitsToFloat(PV0i.y))); +// 12 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R8i.z))); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].y), intBitsToFloat(R125i.w))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R25i.x))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[28].z), intBitsToFloat(R127i.z))); +R122i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PS0i = R122i.x; +// 13 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(R18i.x))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R126i.x)) + intBitsToFloat(R15i.z))); +PV1i.w = R123i.w; +R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PS0i)); +PS1i = R127i.z; +// 14 +R126i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); +PV0i.x = R126i.x; +PV0i.z = floatBitsToInt(-(intBitsToFloat(PS1i)) + intBitsToFloat(0x3f7851ec)); +R124i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); +PV0i.w = R124i.w; +// 15 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(0x3f11eb85)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3f547ae1)); +R26i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R6i.w)) + intBitsToFloat(R127i.z))); +PS1i = R26i.x; +// 16 +R26i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R6i.w)) + intBitsToFloat(R126i.x))); +R26i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R6i.w)) + intBitsToFloat(R124i.w))); +// export +passPixelColor0 = vec4(intBitsToFloat(R26i.x), intBitsToFloat(R26i.y), intBitsToFloat(R26i.z), intBitsToFloat(R26i.w)); +} diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt similarity index 97% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt index e1bfd638..1b68ef0f 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/f4e1147ab34a1677_0000000000000000_vs.txt @@ -1,208 +1,208 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable - -// shader f4e1147ab34a1677 -- Vertex Shader where links gets drawn in the menu - -uniform ivec4 uf_remappedVS[5]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem4; -layout(location = 3) out vec4 passParameterSem5; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 4) out vec4 passParameterSem6; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; - -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); - -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); - -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); - -// 0 -backupReg0i = R0i.x; -PV0i.x = (backupReg0i == int(1))?int(0xFFFFFFFF):int(0x0); -R127i.y = 0x3f800000; // subtracting brings the black box top side down -PV0i.z = 0x3f800000; // subtracting slants down diagonally -PV0i.w = 0x40400000; -R127i.z = 0xbf800000; // unnecssary left side, extends the black box -PS0i = R127i.z; - -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].z) * intBitsToFloat(0x3b808081)); -R123i.y = ((PV0i.x == 0)?(PV0i.w):(0xbf800000)); -PV1i.y = R123i.y; -R126i.z = uf_remappedVS[1].z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) / 2.0); -R123i.w = ((PV0i.x == 0)?(PV0i.z):(0xc0400000)); -PV1i.w = R123i.w; -R1i.w = 0x3f800000; -PS1i = R1i.w; - -// 2 -R1i.x = ((R0i.x == 0)?(R127i.z):(PV1i.y)); -PV0i.x = R1i.x; -R1i.y = ((R0i.x == 0)?(R127i.y):(PV1i.w)); -PV0i.y = R1i.y; -R1i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + -(0.5)); -R1i.z = floatBitsToInt(intBitsToFloat(R1i.z) * 2.0); -R125i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[2].z))); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) / 2.0); -R4i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[3].x))); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) * 2.0); -PS0i = R4i.x; - -// 3 -- links lighting -R2i.x = floatBitsToInt((intBitsToFloat(PV0i.x) * 0.5 + 0.5)); -PV1i.x = R2i.x; -R4i.y = uf_remappedVS[3].y; -R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) * 2.0); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y))); -R127i.w = PV0i.x; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) / 2.0); -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); -PS1i = R127i.x; -// 4 -- links lighting -R126i.x = floatBitsToInt(intBitsToFloat(R125i.w) + -(0.5)); -R2i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * 0.5 + 0.5)); -PV0i.y = R2i.y; -R6i.z = PV1i.x; -PV0i.z = R6i.z; -R124i.w = floatBitsToInt(intBitsToFloat(R126i.z) + -(0.5)); -R126i.w = floatBitsToInt(-(intBitsToFloat(R4i.x))); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) / 2.0); -PS0i = R126i.w; -// 5 -- links lighting -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w)); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R126i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -R6i.w = PV0i.y; -PV1i.w = R6i.w; -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(uf_remappedVS[4].z)); -PS1i = R127i.y; - -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(uf_remappedVS[4].w)); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.w))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.z))); -R126i.w = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R124i.w)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.y))); -PS0i = R127i.w; -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg0i))); -R125i.y = uf_remappedVS[4].x; -R125i.y = floatBitsToInt(intBitsToFloat(R125i.y) / 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.x)); -R125i.w = uf_remappedVS[4].y; -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) / 2.0); -R0i.w = uf_remappedVS[4].z; -R0i.w = floatBitsToInt(intBitsToFloat(R0i.w) * 2.0); -PS1i = R0i.w; -// 8 -backupReg0i = R126i.x; -backupReg1i = R127i.y; -backupReg2i = R126i.w; -R126i.x = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(backupReg0i)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R124i.w)); -R127i.z = uf_remappedVS[4].w; -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg2i))); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV1i.z))); -PS0i = R125i.x; -// 9 -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R125i.y)) + 0.5)); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R125i.w)) + 0.5)); -R4i.z = R126i.y; -R5i.w = floatBitsToInt(1.0); -R4i.w = R126i.z; -PS1i = R4i.w; -// 10 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R127i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R126i.x))); -R2i.z = R127i.w; -R2i.w = R127i.x; -R3i.z = R0i.w; -PS0i = R3i.z; -// 11 -R0i.z = R126i.w; -R3i.w = R127i.z; -R0i.w = R125i.x; -PS1i = R0i.w; - -// export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)) * 0; - -// export -passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem5 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem6 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.x), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); // z= moves link left, w= moves link right, affects link cut out in menu -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable + +// shader f4e1147ab34a1677 -- Vertex Shader where links gets drawn in the menu + +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem1; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem0; +layout(location = 2) out vec4 passParameterSem4; +layout(location = 3) out vec4 passParameterSem5; +layout(location = 1) out vec4 passParameterSem1; +layout(location = 4) out vec4 passParameterSem6; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +uvec4 attrDecoder; +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; + +R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); + +attrDecoder.xyzw = attrDataSem0.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); + +attrDecoder.x = attrDataSem1.x; +attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); +attrDecoder.y = 0; +attrDecoder.z = 0; +attrDecoder.w = 0; +attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); +if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; +if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; +if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; +attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); +attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); +attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); +attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); +R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); + +// 0 +backupReg0i = R0i.x; +PV0i.x = (backupReg0i == int(1))?int(0xFFFFFFFF):int(0x0); +R127i.y = 0x3f800000; // subtracting brings the black box top side down +PV0i.z = 0x3f800000; // subtracting slants down diagonally +PV0i.w = 0x40400000; +R127i.z = 0xbf800000; // unnecssary left side, extends the black box +PS0i = R127i.z; + +// 1 +PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].z) * intBitsToFloat(0x3b808081)); +R123i.y = ((PV0i.x == 0)?(PV0i.w):(0xbf800000)); +PV1i.y = R123i.y; +R126i.z = uf_remappedVS[1].z; +R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) / 2.0); +R123i.w = ((PV0i.x == 0)?(PV0i.z):(0xc0400000)); +PV1i.w = R123i.w; +R1i.w = 0x3f800000; +PS1i = R1i.w; + +// 2 +R1i.x = ((R0i.x == 0)?(R127i.z):(PV1i.y)); +PV0i.x = R1i.x; +R1i.y = ((R0i.x == 0)?(R127i.y):(PV1i.w)); +PV0i.y = R1i.y; +R1i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + -(0.5)); +R1i.z = floatBitsToInt(intBitsToFloat(R1i.z) * 2.0); +R125i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[2].z))); +R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) / 2.0); +R4i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[3].x))); +R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) * 2.0); +PS0i = R4i.x; + +// 3 -- links lighting +R2i.x = floatBitsToInt((intBitsToFloat(PV0i.x) * 0.5 + 0.5)); +PV1i.x = R2i.x; +R4i.y = uf_remappedVS[3].y; +R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) * 2.0); +PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y))); +R127i.w = PV0i.x; +R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) / 2.0); +R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y))); +R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); +PS1i = R127i.x; +// 4 -- links lighting +R126i.x = floatBitsToInt(intBitsToFloat(R125i.w) + -(0.5)); +R2i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * 0.5 + 0.5)); +PV0i.y = R2i.y; +R6i.z = PV1i.x; +PV0i.z = R6i.z; +R124i.w = floatBitsToInt(intBitsToFloat(R126i.z) + -(0.5)); +R126i.w = floatBitsToInt(-(intBitsToFloat(R4i.x))); +R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) / 2.0); +PS0i = R126i.w; +// 5 -- links lighting +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w)); +PV1i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R126i.z)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.y))); +PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); +R6i.w = PV0i.y; +PV1i.w = R6i.w; +R127i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(uf_remappedVS[4].z)); +PS1i = R127i.y; + +// 6 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(uf_remappedVS[4].w)); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.w))); +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.z))); +R126i.w = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R124i.w)); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.y))); +PS0i = R127i.w; +// 7 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg0i))); +R125i.y = uf_remappedVS[4].x; +R125i.y = floatBitsToInt(intBitsToFloat(R125i.y) / 2.0); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.x)); +R125i.w = uf_remappedVS[4].y; +R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) / 2.0); +R0i.w = uf_remappedVS[4].z; +R0i.w = floatBitsToInt(intBitsToFloat(R0i.w) * 2.0); +PS1i = R0i.w; +// 8 +backupReg0i = R126i.x; +backupReg1i = R127i.y; +backupReg2i = R126i.w; +R126i.x = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(backupReg0i)); +R127i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R124i.w)); +R127i.z = uf_remappedVS[4].w; +R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg2i))); +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV1i.z))); +PS0i = R125i.x; +// 9 +R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R125i.y)) + 0.5)); +R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R125i.w)) + 0.5)); +R4i.z = R126i.y; +R5i.w = floatBitsToInt(1.0); +R4i.w = R126i.z; +PS1i = R4i.w; +// 10 +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R127i.y))); +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R126i.x))); +R2i.z = R127i.w; +R2i.w = R127i.x; +R3i.z = R0i.w; +PS0i = R3i.z; +// 11 +R0i.z = R126i.w; +R3i.w = R127i.z; +R0i.w = R125i.x; +PS1i = R0i.w; + +// export +gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)) * 0; + +// export +passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +// export +passParameterSem4 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); +// export +passParameterSem5 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +// export +passParameterSem1 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +// export +// skipped export to semanticId 255 +// export +passParameterSem6 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.x), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); // z= moves link left, w= moves link right, affects link cut out in menu +} diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt similarity index 53% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt index 9a244de3..c70f088d 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_MenuWorkaround/rules.txt @@ -1,9 +1,9 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = Cel-Shade Removal Start Menu Workaround Pack -path = "The Legend of Zelda: Breath of the Wild/Enhancements/Cel-Shading Removal/Cel-Shading - Start Menu Workaround" -description = Start Menu Workaround -version = 3 - -[Preset] +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Cel-Shade Removal Start Menu Workaround Pack +path = "The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Cel-Shading - Start Menu Workaround" +description = Start Menu Workaround +version = 3 + +[Preset] name = Start Menu Workaround \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt similarity index 97% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt index 94bc1533..7e2eeaac 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/1c7db40ff5d693ab_001ffffe4924b249_ps.txt @@ -1,1143 +1,1143 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 1c7db40ff5d693ab -uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x38da5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 2) in vec4 passParameterSem6; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 3) out vec4 passPixelColor3; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 Temp0i = ivec4(0); -ivec4 Temp1i = ivec4(0); -ivec4 High0i = ivec4(0); -ivec4 Low0i = ivec4(0); -ivec4 Left0i = ivec4(0); -ivec4 Right0i = ivec4(0); -ivec4 YHigh0i = ivec4(0); -ivec4 YLow0i = ivec4(0); -ivec4 YLeft0i = ivec4(0); -ivec4 YRight0i = ivec4(0); -ivec4 BHigh0i = ivec4(0); -ivec4 BLow0i = ivec4(0); -ivec4 BLeft0i = ivec4(0); -ivec4 BRight0i = ivec4(0); -ivec4 LtBlueShadow = ivec4(0); -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R17i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex7 = 0.0; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem2); // no cel shading -R2i = floatBitsToInt(passParameterSem6); -if( activeMaskStackC[1] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); -R15i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); -R2i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xw); -R4i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); -R16i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); -R14i.x = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R2i.zw)).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -R124i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.y = R125i.y; -R3i.z = 0; -R5i.w = 0x3f800000; -R126i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.y)))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.y)))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[2].x)) + -(intBitsToFloat(uf_remappedPS[2].y)))); -R127i.w = clampFI32(R127i.w); -R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].w)) + 1.0); -PS1i = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[4].x))); -// 3 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PS0i))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[5].x))); -R10i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) * intBitsToFloat(0x3ba3d70a)); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -// 4 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[6].x))); -R125i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); -R127i.w = floatBitsToInt(max(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -// 5 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = R0i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(backupReg0i))); -PV1i.w = R123i.w; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); -PV0i.x = R123i.x; -R6i.y = floatBitsToInt(max(intBitsToFloat(R15i.x), intBitsToFloat(R127i.w))); -R9i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.w)); -PV0i.z = R9i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R125i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 7 -R5i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)); -PV1i.x = R5i.x; -R8i.y = PV0i.z; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R4i.z = floatBitsToInt(tempResultf); -PS1i = R4i.z; -// 8 -R9i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[6].w) + intBitsToFloat(PV1i.z)); -PV0i.z = R8i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(R127i.y))); -R13i.x = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); -PS0i = R13i.x; -// 9 -R127i.x = uf_remappedPS[7].y; -R9i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3a83126f)); -R127i.z = uf_remappedPS[8].y; -R125i.w = floatBitsToInt(min(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 10 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[3].w))/2.0); -PV0i.x = R123i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(0x2edbe6ff)); -R126i.z = uf_remappedPS[9].y; -R127i.w = floatBitsToInt(intBitsToFloat(R13i.x) + intBitsToFloat(0xbecccccd)); -R125i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R125i.x; -// 11 -backupReg0i = R126i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(uf_remappedPS[10].y)))); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R11i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(uf_remappedPS[11].y))); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40200001)); -R126i.w = clampFI32(R126i.w); -R14i.y = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R4i.y) + 1.0)); -PS1i = R14i.y; -// 12 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.z),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R127i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -R0i.x = floatBitsToInt(min(intBitsToFloat(R15i.x), intBitsToFloat(R125i.w))); -R12i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x41200000)); -R12i.y = clampFI32(R12i.y); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].z), intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),-(intBitsToFloat(R125i.x))) + intBitsToFloat(uf_remappedPS[3].z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 15 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[13].x)) + intBitsToFloat(uf_remappedPS[14].w))); -R125i.x = clampFI32(R125i.x); -R127i.y = floatBitsToInt((intBitsToFloat(PS0i) * 4.0 + intBitsToFloat(0xc0400000))); -R127i.y = clampFI32(R127i.y); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R14i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 16 -R17i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); -R17i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3f4ccccd)); -R13i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(0.5)); -R13i.y = floatBitsToInt(intBitsToFloat(R13i.y) * 4.0); -R13i.y = clampFI32(R13i.y); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(PS0i))); -R6i.w = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3f4ccccd)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.z))); -// 18 -R8i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3f4ccccd)); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -R2i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[12].w)),intBitsToFloat(PS1i)) + 1.0)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R12i.x = R1i.w; -R12i.x = clampFI32(R12i.x); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R6i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(0x3f4ccccd)); -PV1i.w = clampFI32(PV1i.w); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R124i.z)); -// 20 -R2i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd) + 1.0)); -R5i.y = R6i.y; -R5i.y = clampFI32(R5i.y); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[15].w))); -R3i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -tempResultf = log2(intBitsToFloat(R125i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.w = floatBitsToInt(tempResultf); -PS0i = R0i.w; -} - -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].x), intBitsToFloat(uf_remappedPS[17].w))); -PV0i.x = R126i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].y), intBitsToFloat(uf_remappedPS[17].w))); -PV0i.y = R125i.y; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R14i.y))); -PV0i.z = R10i.z; -R4i.w = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x42960000)); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R2i.y)); -PS0i = R126i.w; -// 1 -R125i.x = PV0i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.x)),intBitsToFloat(PS0i)) + 1.0)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].z), intBitsToFloat(uf_remappedPS[17].w))); -PV1i.z = R126i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); -PV1i.w = R123i.w; -R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R2i.z)) + intBitsToFloat(R2i.z))); -PS1i = R0i.z; -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y), intBitsToFloat(R0i.w))); -PV0i.y = PV1i.z; -R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].x) + -(intBitsToFloat(R6i.x))); -R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].y) + -(intBitsToFloat(R6i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.w)); -PS0i = floatBitsToInt(tempResultf); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R4i.z))); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(0x2edbe6ff)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -R124i.z = backupReg0i; -R124i.z = clampFI32(R124i.z); -R8i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].z) + -(intBitsToFloat(R8i.x))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(backupReg1i))); -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[19].w))); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); -R126i.y = R4i.x; -R126i.y = clampFI32(R126i.y); -PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), 0.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R127i.y))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -// 7 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R15i.w) * intBitsToFloat(0x437f0000)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -PS1i = R127i.y; -// 8 -R127i.x = floatBitsToInt(intBitsToFloat(R15i.x) + -(intBitsToFloat(R6i.y))); -PV0i.y = floatBitsToInt(max(-(intBitsToFloat(PV1i.z)), intBitsToFloat(0xbf7d70a4))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x40a00000)); -PV0i.z = clampFI32(PV0i.z); -R125i.w = floatBitsToInt(intBitsToFloat(R15i.y) + -(intBitsToFloat(R6i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R15i.z) + -(intBitsToFloat(R6i.y))); -PS0i = R124i.w; -// 9 -backupReg0i = R127i.y; -backupReg1i = R6i.z; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV0i.z)) + 1.0)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R5i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); -PV1i.w = R126i.w; -R3i.w = 0; -PS1i = R3i.w; -// 10 -backupReg0i = R127i.x; -backupReg1i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); -PV0i.w = R123i.w; -R127i.w = int(intBitsToFloat(backupReg1i)); -PS0i = R127i.w; -// 11 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R124i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(0xbe593484))); -PV1i.z = R123i.z; -R9i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R124i.x))); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.z))); -// 12 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R124i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); -PV0i.z = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(R127i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(0x3fc90da4))); -PV0i.w = R123i.w; -R127i.y = R127i.w & int(1); -PS0i = R127i.y; -// 13 -backupReg0i = R2i.w; -backupReg0i = R2i.w; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),-(intBitsToFloat(PV0i.w))) + 1.0)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(0xba0a8ec8))); -R5i.y = clampFI32(R5i.y); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(0xba0a8ec8))); -R5i.z = clampFI32(R5i.z); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R10i.z))) + intBitsToFloat(backupReg0i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(0xba0a8ec8))); -R3i.z = clampFI32(R3i.z); -PS1i = R3i.z; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(float(R127i.y)); -// 15 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PS0i))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); -PS1i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3eaaaaab)); -// 16 -R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), -(intBitsToFloat(R3i.w)))); -// 17 -backupReg0i = R7i.x; -R7i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),-(intBitsToFloat(R126i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 18 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.w))); -R7i.z = clampFI32(R7i.z); -// 19 -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PV0i.x))); -PV1i.z = R12i.z; -// 20 -PV0i.y = PV1i.z; -PV0i.y = clampFI32(PV0i.y); -// 21 -R14i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0xbecccccd)); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[20].x),intBitsToFloat(uf_remappedPS[20].y),intBitsToFloat(uf_remappedPS[20].z),intBitsToFloat(uf_remappedPS[20].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[21].x),intBitsToFloat(uf_remappedPS[21].y),intBitsToFloat(uf_remappedPS[21].z),intBitsToFloat(uf_remappedPS[21].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R10i.x; -// 3 -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); - - -} -if( activeMaskStackC[1] == true ) { - R9i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R9i.xy),0.0).x); - R10i.w = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R10i.xy),intBitsToFloat(R10i.w)).x); - R11i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R11i.xy)).xyz); -} - - -if( activeMaskStackC[1] == true ) { - // 0 - backupReg0i = R9i.y; - PV0i.x = floatBitsToInt(intBitsToFloat(R10i.w) + intBitsToFloat(uf_remappedPS[23].z)); - PV0i.x = clampFI32(PV0i.x); - R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R6i.z))); - R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); - PV0i.z = R123i.z; - R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R6i.z))); - R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R6i.z))); - PS0i = R11i.y; - // 1 - R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x41c80000) + intBitsToFloat(R9i.z))); - PV1i.x = R123i.x; - R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[24].z))); - PV1i.y = R3i.y; - // 2 - R4i.y = PV1i.y; - PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R12i.y))); - R10i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[25].x)); - // 3 - PV1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.z)); - PV1i.z = clampFI32(PV1i.z); - PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); - // 4 - R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R8i.x))); - PV0i.x = R123i.x; - R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.w))); - PV0i.y = R123i.y; - R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.x))); - PV0i.z = R123i.z; - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R12i.x)) + 1.0)); - PV0i.w = R123i.w; - // 5 - PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R7i.z))); - PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[26].z))); - PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[26].y))); - PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[26].x))); - // 6 - PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.y))); - PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.z))); - PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.w))); - PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.x))); - // 7 - R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.w))); - PV1i.x = R123i.x; - R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x))); - PV1i.z = R123i.z; - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.y))); - PV1i.w = R123i.w; - // 8 - PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.z))); - PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.y))); - PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.z))); - // 9 - // setting RGB for link to use in shadow calculations - R0i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); - R0i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); - - R2i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -} - -if( activeMaskStackC[1] == true ) { - activeMaskStack[1] = activeMaskStack[0]; - activeMaskStackC[2] = activeMaskStackC[1]; - // 0 - R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(uf_remappedPS[27].x)) + intBitsToFloat(uf_remappedPS[28].w))); - R123i.y = clampFI32(R123i.y); - PV0i.y = R123i.y; - // 1 - PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[29].w))); - // 2 - PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R14i.y))); - // 3 - R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.z)) + intBitsToFloat(R0i.z))); - PV1i.x = R123i.x; - PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.z))); - // 4 - PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].y), intBitsToFloat(PV1i.y))); - PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].z), intBitsToFloat(PV1i.y))); - PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].x), intBitsToFloat(PV1i.y))); - PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); - R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); - PS0i = R5i.z; - // 5 - R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.y))); - PV1i.x = R123i.x; - R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].x),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.z))); - PV1i.y = R123i.y; - R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.x))); - PV1i.z = R123i.z; - R4i.w = 0; - // 6 - R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.y))); - PV0i.y = R123i.y; - R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.z))); - PV0i.z = R123i.z; - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.x))); - PV0i.w = R123i.w; - // 7 - R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.y))); - R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.z))); - R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.w))); - // 8 - predResult = (intBitsToFloat(R14i.x) != intBitsToFloat(0x3dc0c0c1)); - activeMaskStack[1] = predResult; - activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { - activeMaskStack[1] = false; - activeMaskStackC[2] = false; -} - - -// actually deals with all light. Current method just brightens all of link. -if( activeMaskStackC[2] == true ) { -// 0 -// r0i.x r0i.y, r2i.z carries RGB of ambient light on link -R3i.xyz = floatBitsToInt(vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R4i.z)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z))); -R3i.w = 0x3f800000; -R0i.x = 0; -PS0i = R0i.x; -// 1 -//R0i.yzw = ivec3(0,0,0); -//R0i.xyz = R3i.xyz; - -// simple effective method previously in use -//R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R15i.x)*$Bright)+ intBitsToFloat(R1i.x)*$Bright); -//R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R15i.y)*$Bright)+ intBitsToFloat(R1i.y)*$Bright); -//R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R15i.z)*$Bright)+ intBitsToFloat(R1i.z)*$Bright); -// end simple method - -// *************************************************************** -// *************************************************************** -// *************************************************************** -// REFERENCE MATERIAL -// *************************************************************** -// *************************************************************** -// *************************************************************** - - -// R17i darkest shadows mask -// R7i meduim shadows mask -// R11i anything not very bright mask - - - -// *********************** -// when set as R0i.xyz output DAY REDO -// *********************** -// -//R0i.x = floatBitsToInt(intBitsToFloat(R15i.x)*$Bright); -//R0i.y = floatBitsToInt(intBitsToFloat(R15i.y)*$Bright); -//R0i.z = floatBitsToInt(intBitsToFloat(R15i.z)*$Bright); -// -// ********************************************************* -// skin colors -// R0i pale dark blue -// R1i base skin tone -// R2i some highlights on dark skin tone -// R3i some highlights on dark skin tone -// R4i green R5i blue R6i green highlights - -// glows -// R8i masive light blue glow -// R9i dark blue glow - -// skin tones -// R10i intense red skin -// R11i pink skin -// R12i dark brown skin -// R13i teal skin -// R14i green skin -// R15i neutral skin tone still a bit dark****** winner -// R16i dark tone -// R17i highlights green and red on dark skin tone -// R122i pretty much black -// R123i pretty much black -// R124i has pink -// R125i dark purple -// R126i dark has green night tones -// R127i dark purple - - -// *********************** -// when miultiplied by R15i unknown time -// *********************** -// skin colors -// R0i dark tone -// R1i dark tone -// R2i black shadow -// R3i reasonable but a touch dark skin tone -// R4i green overtone R5i dark shadows R6i darkens - -// glows -// R8i masive light blue skin less glow -// R8i dark blue skin less glow -// R7i nice warm skin tones - -// skin tones -// R10i intense red skin -// R11i black shadows -// R12i red to shadows and light red glow to skin -// R13i add teal to shadows -// R14i green skin all -// R15i adds some intensity to colors mostly in the reds of the shadows -// R16i dark tone -// R17i highlights green and red on dark skin tone -// R122i pretty much black -// R123i pretty much black -// R124i has pink -// R125i dark purple -// R126i dark has green night tones -// R127i dark purple - - - -// *********************** -// when miultiplied "mul_nonIEEE( R1i * R##i )" by R1i in DAYLIGHT -// *********************** -// skin colors -// R0i saturated shadows -- cel shaded -// R1i very neutral -- NO CEL SHADING WINNER -// R2i dark blue shadows -- cel shaded -// R3i dark warm skin tone -- cel shaded -// R4i green overtone R5i dark shadows R6i darkens -- no cel -// R7i blueish shadow -- cel shaded - -// glows -// R8i masive light blue skin less glow -// R9i dark blue skin less glow - - -// skin tones -// R10i intense red skin - no cel apparent -// R11i red sgadiws - no cel apparent -// R12i pinkish shadows possible combined with sky light color -- cel shaded -// R13i add teal shadows -- no cel -// R14i green skin all -- no cel -// R15i adds some intensity to colors mostly in the reds of the shadows -- NO CEL SHADING WINNER -// R16i desaturated highlights in shadows -- NO CEL SHADING WINNER for add highlights -// R17i highlights green and red on dark skin tone -- no cel -// R122i dark reds -- no cel -// R123i seems a reflective map -- no cel goldish tones since reflecting sun -// R124i has pink -- no cel -// R125i dark purple -- no cel -// R126i dark has green night tones -- no cel -// R127i dark red -- no cel - - - -// *********************** -// when set as R0i.xyz output at NIGHT -// *********************** -// -//R0i.x = floatBitsToInt(intBitsToFloat(R15i.x)*$Bright); -//R0i.y = floatBitsToInt(intBitsToFloat(R15i.y)*$Bright); -//R0i.z = floatBitsToInt(intBitsToFloat(R15i.z)*$Bright); -// -// ********************************************************* -// skin colors -// R0i skin tone with a bit too much pinks red -// R1i base skin tone flat neutral no highlights -// R2i some highlights on dark skin tone -// R3i dark tone may carry brightness of environmnt light -// R4i green R5i blue with base highlight R6i puke reen overtone - -// glows -// R8i masive light blue glow... when multiplied by x only provides a green ovetone -// R9i dark blue glow -// R7i pinkish on shadows on bright side greenish on dark side. Kinda like R17i with irs red green - -// skin tones -// R10i intense red all skin -// R11i very dark -// R12i dark red with clothes and lit side ignored -// R13i teal skin lit side ignored -// R14i green all skin -// R15i neutral skin tone still a bit dark****** winner -// R16i dark tone -// R17i highlights green and red on dark skin tone -// R122i dark red overtones -// R123i pretty much black -// R124i has pink overtone -// R125i dark blue purple overtone -// R126i dark has green overtone -// R127i dark red overtones - -// use with R15i for white -// use with R1i for sky tone mostly yellow -// + R17i.y shadows low -// - R17i.y shadows high -// + R17i.x shadows left -// - R17i.x shadows right - - -// *********************** -// when added to "floatBitsToInt( R1i + R##i )" by R1i in DAYLIGHT -// *********************** -// skin colors -// R0i saturated shadows -- cel shaded -// R1i very neutral -- NO CEL SHADING WINNER -// R2i dark blue shadows -- cel shaded -// R3i dark warm skin tone -- cel shaded -// R4i green overtone R5i blue overtones R6i yellow overtones -- no cel -// R7i add yellow to shadow and blue to light -- cel shaded? Shadow map - -// glows -// R8i masive light blue skin less glow -// R9i dark blue skin less glow - - -// skin tones -// R10i intense red skin - no cel apparent -// R11i red shadows - no cel apparent possible use shadow map -// R12i pinkish shadows possible combined with sky light color -- cel shaded -// R13i add teal shadows -- no cel -// R14i green skin all -- no cel -// R15i adds some intensity to colors mostly in the reds of the shadows -- NO CEL SHADING WINNER -// R16i desaturated highlights in shadows -- NO CEL SHADING WINNER for add highlights -// R17i highlights green and red on dark skin tone -- no cel Shadow mask -// R122i dark reds -- no cel -// R123i seems a reflective map -- no cel goldish tones since reflecting sun -// R124i has pink -- no cel -// R125i dark purple -- no cel -// R126i dark has green night tones -- no cel -// R127i dark red -- no cel - -// *************************************************************** -// *************************************************************** -// *************************************************************** -// END REFERENCE MATERIAL -// *************************************************************** -// *************************************************************** -// *************************************************************** - - -// The next sectiona make shadow masks using various base colors and directions of shadows - -// Section 1 r15 for white tone with shadow on side described -Left0i.x = floatBitsToInt(intBitsToFloat(R15i.x) + intBitsToFloat(R17i.x)); -Left0i.y = floatBitsToInt(intBitsToFloat(R15i.y) + intBitsToFloat(R17i.x)); -Left0i.z = floatBitsToInt(intBitsToFloat(R15i.z) + intBitsToFloat(R17i.x)); - -// Low0i.x = floatBitsToInt(intBitsToFloat(R15i.x) + intBitsToFloat(R17i.y)); -// Low0i.y = floatBitsToInt(intBitsToFloat(R15i.y) + intBitsToFloat(R17i.y)); -// Low0i.z = floatBitsToInt(intBitsToFloat(R15i.z) + intBitsToFloat(R17i.y)); - -Right0i.x = floatBitsToInt(intBitsToFloat(R15i.x) - intBitsToFloat(R17i.x)); -Right0i.y = floatBitsToInt(intBitsToFloat(R15i.y) - intBitsToFloat(R17i.x)); -Right0i.z = floatBitsToInt(intBitsToFloat(R15i.z) - intBitsToFloat(R17i.x)); - -High0i.x = floatBitsToInt(intBitsToFloat(R15i.x) - intBitsToFloat(R17i.y)); -High0i.y = floatBitsToInt(intBitsToFloat(R15i.y) - intBitsToFloat(R17i.y)); -High0i.z = floatBitsToInt(intBitsToFloat(R15i.z) - intBitsToFloat(R17i.y)); -//******************************************************** - - - -// Section 2 R1i for yellow tone with shoadow on side described -// YLeft0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R17i.x)); -// YLeft0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(R17i.x)); -// YLeft0i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R17i.x)); - -// YLow0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R17i.y)); -// YLow0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(R17i.y)); -// YLow0i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R17i.y)); - -YRight0i.x = floatBitsToInt(intBitsToFloat(R1i.x) - intBitsToFloat(R17i.x)); -YRight0i.y = floatBitsToInt(intBitsToFloat(R1i.y) - intBitsToFloat(R17i.x)); -YRight0i.z = floatBitsToInt(intBitsToFloat(R1i.z) - intBitsToFloat(R17i.x)); - -YHigh0i.x = floatBitsToInt(intBitsToFloat(R1i.x) - intBitsToFloat(R17i.y)); -YHigh0i.y = floatBitsToInt(intBitsToFloat(R1i.y) - intBitsToFloat(R17i.y)); -YHigh0i.z = floatBitsToInt(intBitsToFloat(R1i.z) - intBitsToFloat(R17i.y)); -//******************************************************** - - - -// Section 3 R123i Light on side described, blue light of sky or occluded (shines) becomes empty, night dark blue -// BLeft0i.x = floatBitsToInt(intBitsToFloat(R123i.x) - intBitsToFloat(R17i.x)); -// BLeft0i.y = floatBitsToInt(intBitsToFloat(R123i.y) - intBitsToFloat(R17i.x)); -// BLeft0i.z = floatBitsToInt(intBitsToFloat(R123i.z) - intBitsToFloat(R17i.x)); - -// BLow0i.x = floatBitsToInt(intBitsToFloat(R123i.x) - intBitsToFloat(R17i.y)); -// BLow0i.y = floatBitsToInt(intBitsToFloat(R123i.y) - intBitsToFloat(R17i.y)); -// BLow0i.z = floatBitsToInt(intBitsToFloat(R123i.z) - intBitsToFloat(R17i.y)); - -// BRight0i.x = floatBitsToInt(intBitsToFloat(R123i.x) + intBitsToFloat(R17i.x)); -// BRight0i.y = floatBitsToInt(intBitsToFloat(R123i.y) + intBitsToFloat(R17i.x)); -// BRight0i.z = floatBitsToInt(intBitsToFloat(R123i.z) + intBitsToFloat(R17i.x)); - -BHigh0i.x = floatBitsToInt(intBitsToFloat(R123i.x) + intBitsToFloat(R17i.y)); -BHigh0i.y = floatBitsToInt(intBitsToFloat(R123i.y) + intBitsToFloat(R17i.y)); -BHigh0i.z = floatBitsToInt(intBitsToFloat(R123i.z) + intBitsToFloat(R17i.y)); -//******************************************************** - - - -// Section 4 Blue over tone shadows with slight green rim light -LtBlueShadow.x = floatBitsToInt(intBitsToFloat(R13i.x)*.2 + intBitsToFloat(R7i.y)); -LtBlueShadow.y = floatBitsToInt(intBitsToFloat(R13i.y)*.2 + intBitsToFloat(R7i.y)); -LtBlueShadow.z = floatBitsToInt(intBitsToFloat(R13i.y)*.2 + intBitsToFloat(R7i.y)); -//******************************************************** - - -//Section 5 Darken shadows -// Temp0i.x = floatBitsToInt(intBitsToFloat(R16i.x) + intBitsToFloat(R11i.y)); -// Temp0i.y = floatBitsToInt(intBitsToFloat(R16i.y) + intBitsToFloat(R11i.y)); -// Temp0i.z = floatBitsToInt(intBitsToFloat(R16i.z) + intBitsToFloat(R11i.y)); -//******************************************************** - - -// subtract white left shadow from white base using min -R0i.x = floatBitsToInt(min(intBitsToFloat(R1i.x), intBitsToFloat(Left0i.x)*$Bright)); -R0i.y = floatBitsToInt(min(intBitsToFloat(R1i.y), intBitsToFloat(Left0i.y)*$Bright)); -R0i.z = floatBitsToInt(min(intBitsToFloat(R1i.z), intBitsToFloat(Left0i.z)*$Bright)); - -// subtract white high shadow from above using min -R0i.x = floatBitsToInt(min(intBitsToFloat(R0i.x), intBitsToFloat(High0i.x)*$Bright)); -R0i.y = floatBitsToInt(min(intBitsToFloat(R0i.y), intBitsToFloat(High0i.y)*$Bright)); -R0i.z = floatBitsToInt(min(intBitsToFloat(R0i.z), intBitsToFloat(High0i.z)*$Bright)); - -// subtract yellow high shadow from above using min -R0i.x = floatBitsToInt(min(intBitsToFloat(R0i.x), intBitsToFloat(YHigh0i.x)*$Bright)); -R0i.y = floatBitsToInt(min(intBitsToFloat(R0i.y), intBitsToFloat(YHigh0i.y)*$Bright)); -R0i.z = floatBitsToInt(min(intBitsToFloat(R0i.z), intBitsToFloat(YHigh0i.z)*$Bright)); - -// subtract yellow right shadow from above using min -R0i.x = floatBitsToInt(min(intBitsToFloat(R0i.x), intBitsToFloat(Right0i.x)*$Bright*.7)); -R0i.y = floatBitsToInt(min(intBitsToFloat(R0i.y), intBitsToFloat(Right0i.y)*$Bright*.7)); -R0i.z = floatBitsToInt(min(intBitsToFloat(R0i.z), intBitsToFloat(Right0i.z)*$Bright*.7)); - -// make a base color by using mul_nonIEEE with the calculated shadow and the white base color. Add in the shadow, white, light blue masked over shadow, blue sky light masked over high locations, and what I think is a reflective map. -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R1i.x))*$Bright + intBitsToFloat(R0i.x)*$Bright + intBitsToFloat(R1i.x)*$Bright + intBitsToFloat(LtBlueShadow.x)*$Bright + intBitsToFloat(BHigh0i.x)*$Bright + intBitsToFloat(R123i.x)*$Bright) ; - -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R1i.y))*$Bright + intBitsToFloat(R0i.y)*$Bright + intBitsToFloat(R1i.y)*$Bright + intBitsToFloat(LtBlueShadow.y)*$Bright + intBitsToFloat(BHigh0i.y)*$Bright + intBitsToFloat(R123i.y)*$Bright) ; - -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R1i.z))*$Bright + intBitsToFloat(R0i.z)*$Bright + intBitsToFloat(R1i.z)*$Bright + intBitsToFloat(LtBlueShadow.z)*$Bright + intBitsToFloat(BHigh0i.z)*$Bright + intBitsToFloat(R123i.z)*$Bright) ; - - - -R0i.w = R3i.w; -// r0i our color output from the if statement passed on for furthur use -} - - -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; - -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[30].x),intBitsToFloat(uf_remappedPS[30].y),intBitsToFloat(uf_remappedPS[30].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.w = 0x40400000; -PS0i = R0i.w; -// 1 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[31].x),intBitsToFloat(uf_remappedPS[31].y),intBitsToFloat(uf_remappedPS[31].z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(uf_remappedPS[32].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R13i.x))); -// 3 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg1i = R127i.z; -redcCUBE(vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); -R127i.x = floatBitsToInt(cubeMapSTM.x); -R127i.y = floatBitsToInt(cubeMapSTM.y); -R127i.z = floatBitsToInt(cubeMapSTM.z); -R127i.w = cubeMapFaceId; -PV1i.x = R127i.x; -PV1i.y = R127i.y; -PV1i.z = R127i.z; -PV1i.w = R127i.w; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); -R2i.z = clampFI32(R2i.z); -PS1i = R2i.z; -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(0x42960000)); -PV0i.x = clampFI32(PV0i.x); -R0i.z = PV1i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 5 -backupReg0i = R1i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.z))); -PS1i = R1i.x; -// 6 -R0i.x = PV1i.w; -R0i.y = PV1i.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PV1i.z))); -PS0i = R3i.x; -} -if( activeMaskStackC[2] == true ) { -// can increases texture lod in attempt to get higher res tetures at a distance on enemies - R0i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex7),intBitsToFloat(R0i.w)).xyz); -} - -if( activeMaskStackC[2] == true ) { - // 0 - R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.y))); - PV0i.x = R123i.x; - R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.x))); - PV0i.y = R123i.y; - R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(R1i.x))); - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.z))); - PV0i.w = R123i.w; - R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(R1i.y))); - PS0i = R3i.y; - // 1 - R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R2i.x))); - R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); - R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z))); - R0i.w = 0; - R3i.w = 0x3f800000; - PS1i = R3i.w; -} - -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R1i.w = 0x3f800000; -// 1 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R3i.w; -R3i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); -R3i.w = backupReg3i; -// 2 -R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); -R2i.w = R0i.w; -// 3 -backupReg0i = R1i.w; -R1i.xyz = ivec3(R4i.x,R5i.y,R6i.z); -R1i.w = backupReg0i; -// 4 -R0i.xyz = ivec3(R13i.x,R4i.y,R5i.z); -R0i.w = R4i.w; -// 5 -R4i.xyz = ivec3(R7i.x,R7i.x,R7i.x); -R4i.w = R7i.x; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -passPixelColor4 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 1c7db40ff5d693ab +uniform ivec4 uf_remappedPS[33]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x38da5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 2) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 2) out vec4 passPixelColor2; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 4) out vec4 passPixelColor4; +uniform vec2 uf_fragCoordScale; +void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) +{ +// stm -> x .. s, y .. t, z .. MajorAxis*2.0 +vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); +float rx = inputCoord.x; +float ry = inputCoord.y; +float rz = inputCoord.z; +if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) +{ +stm.z = rx*2.0; +stm.xy = vec2(ry,rz); +if( rx >= 0.0 ) +{ +faceId = 0; +} +else +{ +faceId = 1; +} +} +else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) +{ +stm.z = ry*2.0; +stm.xy = vec2(rx,rz); +if( ry >= 0.0 ) +{ +faceId = 2; +} +else +{ +faceId = 3; +} +} +else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) +{ +stm.z = rz*2.0; +stm.xy = vec2(rx,ry); +if( rz >= 0.0 ) +{ +faceId = 4; +} +else +{ +faceId = 5; +} +} +} +vec3 redcCUBEReverse(vec2 st, int faceId) +{ +st.yx = st.xy; +vec3 v; +float majorAxis = 1.0; +if( faceId == 0 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = 1.0; +} +else if( faceId == 1 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = -1.0; +} +else if( faceId == 2 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = 1.0; +} +else if( faceId == 3 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = -1.0; +} +else if( faceId == 4 ) +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = 1.0; +} +else +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = -1.0; +} +return v; +} +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 Temp0i = ivec4(0); +ivec4 Temp1i = ivec4(0); +ivec4 High0i = ivec4(0); +ivec4 Low0i = ivec4(0); +ivec4 Left0i = ivec4(0); +ivec4 Right0i = ivec4(0); +ivec4 YHigh0i = ivec4(0); +ivec4 YLow0i = ivec4(0); +ivec4 YLeft0i = ivec4(0); +ivec4 YRight0i = ivec4(0); +ivec4 BHigh0i = ivec4(0); +ivec4 BLow0i = ivec4(0); +ivec4 BLeft0i = ivec4(0); +ivec4 BRight0i = ivec4(0); +ivec4 LtBlueShadow = ivec4(0); +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R7i = ivec4(0); +ivec4 R8i = ivec4(0); +ivec4 R9i = ivec4(0); +ivec4 R10i = ivec4(0); +ivec4 R11i = ivec4(0); +ivec4 R12i = ivec4(0); +ivec4 R13i = ivec4(0); +ivec4 R14i = ivec4(0); +ivec4 R15i = ivec4(0); +ivec4 R16i = ivec4(0); +ivec4 R17i = ivec4(0); +ivec4 R122i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +bool activeMaskStack[2]; +bool activeMaskStackC[3]; +activeMaskStack[0] = false; +activeMaskStackC[0] = false; +activeMaskStackC[1] = false; +activeMaskStack[0] = true; +activeMaskStackC[0] = true; +activeMaskStackC[1] = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +float cubeMapArrayIndex7 = 0.0; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem2); // no cel shading +R2i = floatBitsToInt(passParameterSem6); +if( activeMaskStackC[1] == true ) { +R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); +R7i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); +R15i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); +R2i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xw); +R4i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); +R16i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); +R14i.x = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R2i.zw)).x); +} +if( activeMaskStackC[1] == true ) { +// 0 +R124i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.y = R125i.y; +R3i.z = 0; +R5i.w = 0x3f800000; +R126i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); +PS0i = R126i.y; +// 1 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.y)))); +PV1i.x = R126i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.y)))); +PV1i.y = R127i.y; +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y))); +PV1i.z = R127i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[2].x)) + -(intBitsToFloat(uf_remappedPS[2].y)))); +R127i.w = clampFI32(R127i.w); +R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].w)) + 1.0); +PS1i = R126i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[4].x))); +// 3 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PS0i))); +R3i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[5].x))); +R10i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) * intBitsToFloat(0x3ba3d70a)); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +// 4 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV1i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[6].x))); +R125i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); +R127i.w = floatBitsToInt(max(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); +// 5 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.y))); +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +PV1i.y = R0i.y; +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(backupReg0i))); +PV1i.w = R123i.w; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); +PS1i = R3i.x; +// 6 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); +PV0i.x = R123i.x; +R6i.y = floatBitsToInt(max(intBitsToFloat(R15i.x), intBitsToFloat(R127i.w))); +R9i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.w)); +PV0i.z = R9i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R125i.x))); +PV0i.w = R123i.w; +tempResultf = log2(intBitsToFloat(R3i.y)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R127i.y = floatBitsToInt(tempResultf); +PS0i = R127i.y; +// 7 +R5i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)); +PV1i.x = R5i.x; +R8i.y = PV0i.z; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(R127i.x))); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +R4i.z = floatBitsToInt(tempResultf); +PS1i = R4i.z; +// 8 +R9i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(R127i.y))); +R8i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[6].w) + intBitsToFloat(PV1i.z)); +PV0i.z = R8i.z; +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(R127i.y))); +R13i.x = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); +PS0i = R13i.x; +// 9 +R127i.x = uf_remappedPS[7].y; +R9i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3a83126f)); +R127i.z = uf_remappedPS[8].y; +R125i.w = floatBitsToInt(min(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 10 +backupReg0i = R127i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[3].w))/2.0); +PV0i.x = R123i.x; +R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(0x2edbe6ff)); +R126i.z = uf_remappedPS[9].y; +R127i.w = floatBitsToInt(intBitsToFloat(R13i.x) + intBitsToFloat(0xbecccccd)); +R125i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); +PS0i = R125i.x; +// 11 +backupReg0i = R126i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(uf_remappedPS[10].y)))); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R11i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(uf_remappedPS[11].y))); +R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40200001)); +R126i.w = clampFI32(R126i.w); +R14i.y = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R4i.y) + 1.0)); +PS1i = R14i.y; +// 12 +backupReg0i = R0i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.z),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),0.0))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +PS0i = R127i.x; +// 13 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +tempResultf = log2(intBitsToFloat(PV0i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 14 +R0i.x = floatBitsToInt(min(intBitsToFloat(R15i.x), intBitsToFloat(R125i.w))); +R12i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x41200000)); +R12i.y = clampFI32(R12i.y); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].z), intBitsToFloat(PS1i))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),-(intBitsToFloat(R125i.x))) + intBitsToFloat(uf_remappedPS[3].z))); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 15 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[13].x)) + intBitsToFloat(uf_remappedPS[14].w))); +R125i.x = clampFI32(R125i.x); +R127i.y = floatBitsToInt((intBitsToFloat(PS0i) * 4.0 + intBitsToFloat(0xc0400000))); +R127i.y = clampFI32(R127i.y); +R126i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd)); +R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R14i.y))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); +// 16 +R17i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); +R17i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); +R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); +R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); +tempResultf = log2(intBitsToFloat(R127i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 17 +R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3f4ccccd)); +R13i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(0.5)); +R13i.y = floatBitsToInt(intBitsToFloat(R13i.y) * 4.0); +R13i.y = clampFI32(R13i.y); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(PS0i))); +R6i.w = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3f4ccccd)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.z))); +// 18 +R8i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3f4ccccd)); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +R2i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[12].w)),intBitsToFloat(PS1i)) + 1.0)); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); +// 19 +R12i.x = R1i.w; +R12i.x = clampFI32(R12i.x); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); +PV1i.y = R123i.y; +R6i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV0i.y))); +PV1i.w = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(0x3f4ccccd)); +PV1i.w = clampFI32(PV1i.w); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R124i.z)); +// 20 +R2i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd) + 1.0)); +R5i.y = R6i.y; +R5i.y = clampFI32(R5i.y); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[15].w))); +R3i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); +tempResultf = log2(intBitsToFloat(R125i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R0i.w = floatBitsToInt(tempResultf); +PS0i = R0i.w; +} + +if( activeMaskStackC[1] == true ) { +// 0 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].x), intBitsToFloat(uf_remappedPS[17].w))); +PV0i.x = R126i.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].y), intBitsToFloat(uf_remappedPS[17].w))); +PV0i.y = R125i.y; +R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R14i.y))); +PV0i.z = R10i.z; +R4i.w = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x42960000)); +R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R2i.y)); +PS0i = R126i.w; +// 1 +R125i.x = PV0i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.x)),intBitsToFloat(PS0i)) + 1.0)); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].z), intBitsToFloat(uf_remappedPS[17].w))); +PV1i.z = R126i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); +PV1i.w = R123i.w; +R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R2i.z)) + intBitsToFloat(R2i.z))); +PS1i = R0i.z; +// 2 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y), intBitsToFloat(R0i.w))); +PV0i.y = PV1i.z; +R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].x) + -(intBitsToFloat(R6i.x))); +R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].y) + -(intBitsToFloat(R6i.w))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.w)); +PS0i = floatBitsToInt(tempResultf); +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R3i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R4i.z))); +// 4 +backupReg0i = R127i.y; +backupReg1i = R127i.x; +R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(0x2edbe6ff)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); +R124i.z = backupReg0i; +R124i.z = clampFI32(R124i.z); +R8i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].z) + -(intBitsToFloat(R8i.x))); +PS0i = floatBitsToInt(exp2(intBitsToFloat(backupReg1i))); +// 5 +backupReg0i = R0i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[19].w))); +// 6 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); +R126i.y = R4i.x; +R126i.y = clampFI32(R126i.y); +PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), 0.0)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R127i.y))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); +// 7 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.y))); +PV1i.z = R123i.z; +R127i.w = floatBitsToInt(intBitsToFloat(R15i.w) * intBitsToFloat(0x437f0000)); +R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); +PS1i = R127i.y; +// 8 +R127i.x = floatBitsToInt(intBitsToFloat(R15i.x) + -(intBitsToFloat(R6i.y))); +PV0i.y = floatBitsToInt(max(-(intBitsToFloat(PV1i.z)), intBitsToFloat(0xbf7d70a4))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x40a00000)); +PV0i.z = clampFI32(PV0i.z); +R125i.w = floatBitsToInt(intBitsToFloat(R15i.y) + -(intBitsToFloat(R6i.y))); +R124i.w = floatBitsToInt(intBitsToFloat(R15i.z) + -(intBitsToFloat(R6i.y))); +PS0i = R124i.w; +// 9 +backupReg0i = R127i.y; +backupReg1i = R6i.z; +R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV0i.z)) + 1.0)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R5i.y))); +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); +R126i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); +PV1i.w = R126i.w; +R3i.w = 0; +PS1i = R3i.w; +// 10 +backupReg0i = R127i.x; +backupReg1i = R127i.w; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); +PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); +R123i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); +PV0i.w = R123i.w; +R127i.w = int(intBitsToFloat(backupReg1i)); +PS0i = R127i.w; +// 11 +backupReg0i = R125i.x; +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.y))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R124i.x))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(0xbe593484))); +PV1i.z = R123i.z; +R9i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R124i.x))); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.z))); +// 12 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R124i.x))); +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); +PV0i.z = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(R127i.y)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(0x3fc90da4))); +PV0i.w = R123i.w; +R127i.y = R127i.w & int(1); +PS0i = R127i.y; +// 13 +backupReg0i = R2i.w; +backupReg0i = R2i.w; +R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),-(intBitsToFloat(PV0i.w))) + 1.0)); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(0xba0a8ec8))); +R5i.y = clampFI32(R5i.y); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(0xba0a8ec8))); +R5i.z = clampFI32(R5i.z); +R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R10i.z))) + intBitsToFloat(backupReg0i))); +R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(0xba0a8ec8))); +R3i.z = clampFI32(R3i.z); +PS1i = R3i.z; +// 14 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(float(R127i.y)); +// 15 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PS0i))); +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(PS0i))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); +PS1i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3eaaaaab)); +// 16 +R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PS1i))); +PV0i.x = R123i.x; +PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), -(intBitsToFloat(R3i.w)))); +// 17 +backupReg0i = R7i.x; +R7i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PV0i.x))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),-(intBitsToFloat(R126i.z))) + intBitsToFloat(PS0i))); +PS1i = R122i.x; +// 18 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PS1i))); +PV0i.x = R123i.x; +R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.w))); +R7i.z = clampFI32(R7i.z); +// 19 +R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PV0i.x))); +PV1i.z = R12i.z; +// 20 +PV0i.y = PV1i.z; +PV0i.y = clampFI32(PV0i.y); +// 21 +R14i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0xbecccccd)); +} +if( activeMaskStackC[1] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[20].x),intBitsToFloat(uf_remappedPS[20].y),intBitsToFloat(uf_remappedPS[20].z),intBitsToFloat(uf_remappedPS[20].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[21].x),intBitsToFloat(uf_remappedPS[21].y),intBitsToFloat(uf_remappedPS[21].z),intBitsToFloat(uf_remappedPS[21].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +PS1i = R126i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); +PS0i = R10i.x; +// 3 +R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); + + +} +if( activeMaskStackC[1] == true ) { + R9i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R9i.xy),0.0).x); + R10i.w = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R10i.xy),intBitsToFloat(R10i.w)).x); + R11i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R11i.xy)).xyz); +} + + +if( activeMaskStackC[1] == true ) { + // 0 + backupReg0i = R9i.y; + PV0i.x = floatBitsToInt(intBitsToFloat(R10i.w) + intBitsToFloat(uf_remappedPS[23].z)); + PV0i.x = clampFI32(PV0i.x); + R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R6i.z))); + R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); + PV0i.z = R123i.z; + R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R6i.z))); + R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R6i.z))); + PS0i = R11i.y; + // 1 + R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x41c80000) + intBitsToFloat(R9i.z))); + PV1i.x = R123i.x; + R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[24].z))); + PV1i.y = R3i.y; + // 2 + R4i.y = PV1i.y; + PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R12i.y))); + R10i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[25].x)); + // 3 + PV1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.z)); + PV1i.z = clampFI32(PV1i.z); + PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); + // 4 + R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R8i.x))); + PV0i.x = R123i.x; + R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.w))); + PV0i.y = R123i.y; + R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.x))); + PV0i.z = R123i.z; + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R12i.x)) + 1.0)); + PV0i.w = R123i.w; + // 5 + PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R7i.z))); + PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[26].z))); + PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[26].y))); + PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[26].x))); + // 6 + PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.y))); + PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.z))); + PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.w))); + PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.x))); + // 7 + R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.w))); + PV1i.x = R123i.x; + R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x))); + PV1i.z = R123i.z; + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.y))); + PV1i.w = R123i.w; + // 8 + PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.z))); + PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.y))); + PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.z))); + // 9 + // setting RGB for link to use in shadow calculations + R0i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); + R0i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); + + R2i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +} + +if( activeMaskStackC[1] == true ) { + activeMaskStack[1] = activeMaskStack[0]; + activeMaskStackC[2] = activeMaskStackC[1]; + // 0 + R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(uf_remappedPS[27].x)) + intBitsToFloat(uf_remappedPS[28].w))); + R123i.y = clampFI32(R123i.y); + PV0i.y = R123i.y; + // 1 + PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[29].w))); + // 2 + PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R14i.y))); + // 3 + R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.z)) + intBitsToFloat(R0i.z))); + PV1i.x = R123i.x; + PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.z))); + // 4 + PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].y), intBitsToFloat(PV1i.y))); + PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].z), intBitsToFloat(PV1i.y))); + PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].x), intBitsToFloat(PV1i.y))); + PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); + R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); + PS0i = R5i.z; + // 5 + R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.y))); + PV1i.x = R123i.x; + R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].x),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.z))); + PV1i.y = R123i.y; + R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.x))); + PV1i.z = R123i.z; + R4i.w = 0; + // 6 + R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.y))); + PV0i.y = R123i.y; + R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.z))); + PV0i.z = R123i.z; + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.x))); + PV0i.w = R123i.w; + // 7 + R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.y))); + R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.z))); + R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.w))); + // 8 + predResult = (intBitsToFloat(R14i.x) != intBitsToFloat(0x3dc0c0c1)); + activeMaskStack[1] = predResult; + activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { + activeMaskStack[1] = false; + activeMaskStackC[2] = false; +} + + +// actually deals with all light. Current method just brightens all of link. +if( activeMaskStackC[2] == true ) { +// 0 +// r0i.x r0i.y, r2i.z carries RGB of ambient light on link +R3i.xyz = floatBitsToInt(vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R4i.z)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z))); +R3i.w = 0x3f800000; +R0i.x = 0; +PS0i = R0i.x; +// 1 +//R0i.yzw = ivec3(0,0,0); +//R0i.xyz = R3i.xyz; + +// simple effective method previously in use +//R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R15i.x)*$Bright)+ intBitsToFloat(R1i.x)*$Bright); +//R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R15i.y)*$Bright)+ intBitsToFloat(R1i.y)*$Bright); +//R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R15i.z)*$Bright)+ intBitsToFloat(R1i.z)*$Bright); +// end simple method + +// *************************************************************** +// *************************************************************** +// *************************************************************** +// REFERENCE MATERIAL +// *************************************************************** +// *************************************************************** +// *************************************************************** + + +// R17i darkest shadows mask +// R7i meduim shadows mask +// R11i anything not very bright mask + + + +// *********************** +// when set as R0i.xyz output DAY REDO +// *********************** +// +//R0i.x = floatBitsToInt(intBitsToFloat(R15i.x)*$Bright); +//R0i.y = floatBitsToInt(intBitsToFloat(R15i.y)*$Bright); +//R0i.z = floatBitsToInt(intBitsToFloat(R15i.z)*$Bright); +// +// ********************************************************* +// skin colors +// R0i pale dark blue +// R1i base skin tone +// R2i some highlights on dark skin tone +// R3i some highlights on dark skin tone +// R4i green R5i blue R6i green highlights + +// glows +// R8i masive light blue glow +// R9i dark blue glow + +// skin tones +// R10i intense red skin +// R11i pink skin +// R12i dark brown skin +// R13i teal skin +// R14i green skin +// R15i neutral skin tone still a bit dark****** winner +// R16i dark tone +// R17i highlights green and red on dark skin tone +// R122i pretty much black +// R123i pretty much black +// R124i has pink +// R125i dark purple +// R126i dark has green night tones +// R127i dark purple + + +// *********************** +// when miultiplied by R15i unknown time +// *********************** +// skin colors +// R0i dark tone +// R1i dark tone +// R2i black shadow +// R3i reasonable but a touch dark skin tone +// R4i green overtone R5i dark shadows R6i darkens + +// glows +// R8i masive light blue skin less glow +// R8i dark blue skin less glow +// R7i nice warm skin tones + +// skin tones +// R10i intense red skin +// R11i black shadows +// R12i red to shadows and light red glow to skin +// R13i add teal to shadows +// R14i green skin all +// R15i adds some intensity to colors mostly in the reds of the shadows +// R16i dark tone +// R17i highlights green and red on dark skin tone +// R122i pretty much black +// R123i pretty much black +// R124i has pink +// R125i dark purple +// R126i dark has green night tones +// R127i dark purple + + + +// *********************** +// when miultiplied "mul_nonIEEE( R1i * R##i )" by R1i in DAYLIGHT +// *********************** +// skin colors +// R0i saturated shadows -- cel shaded +// R1i very neutral -- NO CEL SHADING WINNER +// R2i dark blue shadows -- cel shaded +// R3i dark warm skin tone -- cel shaded +// R4i green overtone R5i dark shadows R6i darkens -- no cel +// R7i blueish shadow -- cel shaded + +// glows +// R8i masive light blue skin less glow +// R9i dark blue skin less glow + + +// skin tones +// R10i intense red skin - no cel apparent +// R11i red sgadiws - no cel apparent +// R12i pinkish shadows possible combined with sky light color -- cel shaded +// R13i add teal shadows -- no cel +// R14i green skin all -- no cel +// R15i adds some intensity to colors mostly in the reds of the shadows -- NO CEL SHADING WINNER +// R16i desaturated highlights in shadows -- NO CEL SHADING WINNER for add highlights +// R17i highlights green and red on dark skin tone -- no cel +// R122i dark reds -- no cel +// R123i seems a reflective map -- no cel goldish tones since reflecting sun +// R124i has pink -- no cel +// R125i dark purple -- no cel +// R126i dark has green night tones -- no cel +// R127i dark red -- no cel + + + +// *********************** +// when set as R0i.xyz output at NIGHT +// *********************** +// +//R0i.x = floatBitsToInt(intBitsToFloat(R15i.x)*$Bright); +//R0i.y = floatBitsToInt(intBitsToFloat(R15i.y)*$Bright); +//R0i.z = floatBitsToInt(intBitsToFloat(R15i.z)*$Bright); +// +// ********************************************************* +// skin colors +// R0i skin tone with a bit too much pinks red +// R1i base skin tone flat neutral no highlights +// R2i some highlights on dark skin tone +// R3i dark tone may carry brightness of environmnt light +// R4i green R5i blue with base highlight R6i puke reen overtone + +// glows +// R8i masive light blue glow... when multiplied by x only provides a green ovetone +// R9i dark blue glow +// R7i pinkish on shadows on bright side greenish on dark side. Kinda like R17i with irs red green + +// skin tones +// R10i intense red all skin +// R11i very dark +// R12i dark red with clothes and lit side ignored +// R13i teal skin lit side ignored +// R14i green all skin +// R15i neutral skin tone still a bit dark****** winner +// R16i dark tone +// R17i highlights green and red on dark skin tone +// R122i dark red overtones +// R123i pretty much black +// R124i has pink overtone +// R125i dark blue purple overtone +// R126i dark has green overtone +// R127i dark red overtones + +// use with R15i for white +// use with R1i for sky tone mostly yellow +// + R17i.y shadows low +// - R17i.y shadows high +// + R17i.x shadows left +// - R17i.x shadows right + + +// *********************** +// when added to "floatBitsToInt( R1i + R##i )" by R1i in DAYLIGHT +// *********************** +// skin colors +// R0i saturated shadows -- cel shaded +// R1i very neutral -- NO CEL SHADING WINNER +// R2i dark blue shadows -- cel shaded +// R3i dark warm skin tone -- cel shaded +// R4i green overtone R5i blue overtones R6i yellow overtones -- no cel +// R7i add yellow to shadow and blue to light -- cel shaded? Shadow map + +// glows +// R8i masive light blue skin less glow +// R9i dark blue skin less glow + + +// skin tones +// R10i intense red skin - no cel apparent +// R11i red shadows - no cel apparent possible use shadow map +// R12i pinkish shadows possible combined with sky light color -- cel shaded +// R13i add teal shadows -- no cel +// R14i green skin all -- no cel +// R15i adds some intensity to colors mostly in the reds of the shadows -- NO CEL SHADING WINNER +// R16i desaturated highlights in shadows -- NO CEL SHADING WINNER for add highlights +// R17i highlights green and red on dark skin tone -- no cel Shadow mask +// R122i dark reds -- no cel +// R123i seems a reflective map -- no cel goldish tones since reflecting sun +// R124i has pink -- no cel +// R125i dark purple -- no cel +// R126i dark has green night tones -- no cel +// R127i dark red -- no cel + +// *************************************************************** +// *************************************************************** +// *************************************************************** +// END REFERENCE MATERIAL +// *************************************************************** +// *************************************************************** +// *************************************************************** + + +// The next sectiona make shadow masks using various base colors and directions of shadows + +// Section 1 r15 for white tone with shadow on side described +Left0i.x = floatBitsToInt(intBitsToFloat(R15i.x) + intBitsToFloat(R17i.x)); +Left0i.y = floatBitsToInt(intBitsToFloat(R15i.y) + intBitsToFloat(R17i.x)); +Left0i.z = floatBitsToInt(intBitsToFloat(R15i.z) + intBitsToFloat(R17i.x)); + +// Low0i.x = floatBitsToInt(intBitsToFloat(R15i.x) + intBitsToFloat(R17i.y)); +// Low0i.y = floatBitsToInt(intBitsToFloat(R15i.y) + intBitsToFloat(R17i.y)); +// Low0i.z = floatBitsToInt(intBitsToFloat(R15i.z) + intBitsToFloat(R17i.y)); + +Right0i.x = floatBitsToInt(intBitsToFloat(R15i.x) - intBitsToFloat(R17i.x)); +Right0i.y = floatBitsToInt(intBitsToFloat(R15i.y) - intBitsToFloat(R17i.x)); +Right0i.z = floatBitsToInt(intBitsToFloat(R15i.z) - intBitsToFloat(R17i.x)); + +High0i.x = floatBitsToInt(intBitsToFloat(R15i.x) - intBitsToFloat(R17i.y)); +High0i.y = floatBitsToInt(intBitsToFloat(R15i.y) - intBitsToFloat(R17i.y)); +High0i.z = floatBitsToInt(intBitsToFloat(R15i.z) - intBitsToFloat(R17i.y)); +//******************************************************** + + + +// Section 2 R1i for yellow tone with shoadow on side described +// YLeft0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R17i.x)); +// YLeft0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(R17i.x)); +// YLeft0i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R17i.x)); + +// YLow0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R17i.y)); +// YLow0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(R17i.y)); +// YLow0i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R17i.y)); + +YRight0i.x = floatBitsToInt(intBitsToFloat(R1i.x) - intBitsToFloat(R17i.x)); +YRight0i.y = floatBitsToInt(intBitsToFloat(R1i.y) - intBitsToFloat(R17i.x)); +YRight0i.z = floatBitsToInt(intBitsToFloat(R1i.z) - intBitsToFloat(R17i.x)); + +YHigh0i.x = floatBitsToInt(intBitsToFloat(R1i.x) - intBitsToFloat(R17i.y)); +YHigh0i.y = floatBitsToInt(intBitsToFloat(R1i.y) - intBitsToFloat(R17i.y)); +YHigh0i.z = floatBitsToInt(intBitsToFloat(R1i.z) - intBitsToFloat(R17i.y)); +//******************************************************** + + + +// Section 3 R123i Light on side described, blue light of sky or occluded (shines) becomes empty, night dark blue +// BLeft0i.x = floatBitsToInt(intBitsToFloat(R123i.x) - intBitsToFloat(R17i.x)); +// BLeft0i.y = floatBitsToInt(intBitsToFloat(R123i.y) - intBitsToFloat(R17i.x)); +// BLeft0i.z = floatBitsToInt(intBitsToFloat(R123i.z) - intBitsToFloat(R17i.x)); + +// BLow0i.x = floatBitsToInt(intBitsToFloat(R123i.x) - intBitsToFloat(R17i.y)); +// BLow0i.y = floatBitsToInt(intBitsToFloat(R123i.y) - intBitsToFloat(R17i.y)); +// BLow0i.z = floatBitsToInt(intBitsToFloat(R123i.z) - intBitsToFloat(R17i.y)); + +// BRight0i.x = floatBitsToInt(intBitsToFloat(R123i.x) + intBitsToFloat(R17i.x)); +// BRight0i.y = floatBitsToInt(intBitsToFloat(R123i.y) + intBitsToFloat(R17i.x)); +// BRight0i.z = floatBitsToInt(intBitsToFloat(R123i.z) + intBitsToFloat(R17i.x)); + +BHigh0i.x = floatBitsToInt(intBitsToFloat(R123i.x) + intBitsToFloat(R17i.y)); +BHigh0i.y = floatBitsToInt(intBitsToFloat(R123i.y) + intBitsToFloat(R17i.y)); +BHigh0i.z = floatBitsToInt(intBitsToFloat(R123i.z) + intBitsToFloat(R17i.y)); +//******************************************************** + + + +// Section 4 Blue over tone shadows with slight green rim light +LtBlueShadow.x = floatBitsToInt(intBitsToFloat(R13i.x)*.2 + intBitsToFloat(R7i.y)); +LtBlueShadow.y = floatBitsToInt(intBitsToFloat(R13i.y)*.2 + intBitsToFloat(R7i.y)); +LtBlueShadow.z = floatBitsToInt(intBitsToFloat(R13i.y)*.2 + intBitsToFloat(R7i.y)); +//******************************************************** + + +//Section 5 Darken shadows +// Temp0i.x = floatBitsToInt(intBitsToFloat(R16i.x) + intBitsToFloat(R11i.y)); +// Temp0i.y = floatBitsToInt(intBitsToFloat(R16i.y) + intBitsToFloat(R11i.y)); +// Temp0i.z = floatBitsToInt(intBitsToFloat(R16i.z) + intBitsToFloat(R11i.y)); +//******************************************************** + + +// subtract white left shadow from white base using min +R0i.x = floatBitsToInt(min(intBitsToFloat(R1i.x), intBitsToFloat(Left0i.x)*$Bright)); +R0i.y = floatBitsToInt(min(intBitsToFloat(R1i.y), intBitsToFloat(Left0i.y)*$Bright)); +R0i.z = floatBitsToInt(min(intBitsToFloat(R1i.z), intBitsToFloat(Left0i.z)*$Bright)); + +// subtract white high shadow from above using min +R0i.x = floatBitsToInt(min(intBitsToFloat(R0i.x), intBitsToFloat(High0i.x)*$Bright)); +R0i.y = floatBitsToInt(min(intBitsToFloat(R0i.y), intBitsToFloat(High0i.y)*$Bright)); +R0i.z = floatBitsToInt(min(intBitsToFloat(R0i.z), intBitsToFloat(High0i.z)*$Bright)); + +// subtract yellow high shadow from above using min +R0i.x = floatBitsToInt(min(intBitsToFloat(R0i.x), intBitsToFloat(YHigh0i.x)*$Bright)); +R0i.y = floatBitsToInt(min(intBitsToFloat(R0i.y), intBitsToFloat(YHigh0i.y)*$Bright)); +R0i.z = floatBitsToInt(min(intBitsToFloat(R0i.z), intBitsToFloat(YHigh0i.z)*$Bright)); + +// subtract yellow right shadow from above using min +R0i.x = floatBitsToInt(min(intBitsToFloat(R0i.x), intBitsToFloat(Right0i.x)*$Bright*.7)); +R0i.y = floatBitsToInt(min(intBitsToFloat(R0i.y), intBitsToFloat(Right0i.y)*$Bright*.7)); +R0i.z = floatBitsToInt(min(intBitsToFloat(R0i.z), intBitsToFloat(Right0i.z)*$Bright*.7)); + +// make a base color by using mul_nonIEEE with the calculated shadow and the white base color. Add in the shadow, white, light blue masked over shadow, blue sky light masked over high locations, and what I think is a reflective map. +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R1i.x))*$Bright + intBitsToFloat(R0i.x)*$Bright + intBitsToFloat(R1i.x)*$Bright + intBitsToFloat(LtBlueShadow.x)*$Bright + intBitsToFloat(BHigh0i.x)*$Bright + intBitsToFloat(R123i.x)*$Bright) ; + +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R1i.y))*$Bright + intBitsToFloat(R0i.y)*$Bright + intBitsToFloat(R1i.y)*$Bright + intBitsToFloat(LtBlueShadow.y)*$Bright + intBitsToFloat(BHigh0i.y)*$Bright + intBitsToFloat(R123i.y)*$Bright) ; + +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R1i.z))*$Bright + intBitsToFloat(R0i.z)*$Bright + intBitsToFloat(R1i.z)*$Bright + intBitsToFloat(LtBlueShadow.z)*$Bright + intBitsToFloat(BHigh0i.z)*$Bright + intBitsToFloat(R123i.z)*$Bright) ; + + + +R0i.w = R3i.w; +// r0i our color output from the if statement passed on for furthur use +} + + +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; + +if( activeMaskStackC[2] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[30].x),intBitsToFloat(uf_remappedPS[30].y),intBitsToFloat(uf_remappedPS[30].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R0i.w = 0x40400000; +PS0i = R0i.w; +// 1 +R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[31].x),intBitsToFloat(uf_remappedPS[31].y),intBitsToFloat(uf_remappedPS[31].z),0.0))); +PV1i.x = R127i.x; +PV1i.y = R127i.x; +PV1i.z = R127i.x; +PV1i.w = R127i.x; +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +PS1i = R127i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(uf_remappedPS[32].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R13i.x))); +// 3 +backupReg0i = R127i.x; +backupReg0i = R127i.x; +backupReg1i = R127i.z; +backupReg1i = R127i.z; +redcCUBE(vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); +R127i.x = floatBitsToInt(cubeMapSTM.x); +R127i.y = floatBitsToInt(cubeMapSTM.y); +R127i.z = floatBitsToInt(cubeMapSTM.z); +R127i.w = cubeMapFaceId; +PV1i.x = R127i.x; +PV1i.y = R127i.y; +PV1i.z = R127i.z; +PV1i.w = R127i.w; +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); +R2i.z = clampFI32(R2i.z); +PS1i = R2i.z; +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(0x42960000)); +PV0i.x = clampFI32(PV0i.x); +R0i.z = PV1i.w; +PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +// 5 +backupReg0i = R1i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + 1.5)); +PV1i.x = R123i.x; +R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.x))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + 1.5)); +PV1i.w = R123i.w; +R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.z))); +PS1i = R1i.x; +// 6 +R0i.x = PV1i.w; +R0i.y = PV1i.x; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PV1i.z))); +PS0i = R3i.x; +} +if( activeMaskStackC[2] == true ) { +// can increases texture lod in attempt to get higher res tetures at a distance on enemies + R0i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex7),intBitsToFloat(R0i.w)).xyz); +} + +if( activeMaskStackC[2] == true ) { + // 0 + R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.y))); + PV0i.x = R123i.x; + R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.x))); + PV0i.y = R123i.y; + R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(R1i.x))); + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.z))); + PV0i.w = R123i.w; + R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(R1i.y))); + PS0i = R3i.y; + // 1 + R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R2i.x))); + R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); + R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z))); + R0i.w = 0; + R3i.w = 0x3f800000; + PS1i = R3i.w; +} + +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R1i.w = 0x3f800000; +// 1 +backupReg0i = R3i.x; +backupReg1i = R3i.y; +backupReg2i = R3i.z; +backupReg3i = R3i.w; +R3i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); +R3i.w = backupReg3i; +// 2 +R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); +R2i.w = R0i.w; +// 3 +backupReg0i = R1i.w; +R1i.xyz = ivec3(R4i.x,R5i.y,R6i.z); +R1i.w = backupReg0i; +// 4 +R0i.xyz = ivec3(R13i.x,R4i.y,R5i.z); +R0i.w = R4i.w; +// 5 +R4i.xyz = ivec3(R7i.x,R7i.x,R7i.x); +R4i.w = R7i.x; +} +// export +passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +passPixelColor1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); +passPixelColor4 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +} diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt similarity index 80% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt index a6bf4c09..cffb2e30 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_Altros/rules.txt @@ -1,73 +1,73 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = No Cel-Shading Links Shadow Brightness Fix v0.8 -path = "The Legend of Zelda: Breath of the Wild/Enhancements/Cel-Shading Removal/Shadow Brightness Fix v08 - Altros" -description = Fixes the very dark shadows on Links back-side in No Cel-Shade mode. -version = 3 - - -[Preset] -name = Shadows 0.45% (Default) -$Bright = 0.45 - -[Preset] -name = Shadows 0.25% -$Bright = 0.25 - -[Preset] -name = Shadows 0.35% -$Bright = 0.35 - -[Preset] -name = Shadows 0.45% -$Bright = 0.45 - -[Preset] -name = Shadows 0.55% -$Bright = 0.55 - -[Preset] -name = Shadows 0.65% -$Bright = 0.65 - -[Preset] -name = Shadows 0.75% -$Bright = 0.75 - -[Preset] -name = Shadows 0.95% -$Bright = 0.95 - -[Preset] -name = Shadows 1.0% (Game Original) -$Bright = 1.0 - -[Preset] -name = Shadows 1.15% -$Bright = 1.15 - -[Preset] -name = Shadows 1.25% -$Bright = 1.25 - -[Preset] -name = Shadows 1.35% -$Bright = 1.35 - -[Preset] -name = Shadows 1.45% -$Bright = 1.45 - -[Preset] -name = Shadows 1.55% -$Bright = 1.55 - -[Preset] -name = Shadows 1.65% -$Bright = 1.65 - -[Preset] -name = Shadows 1.75% -$Bright = 1.75 - +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = No Cel-Shading Links Shadow Brightness Fix v0.8 +path = "The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Shadow Brightness Fix v08 - Altros" +description = Fixes the very dark shadows on Links back-side in No Cel-Shade mode. +version = 3 + + +[Preset] +name = Shadows 0.45% (Default) +$Bright = 0.45 + +[Preset] +name = Shadows 0.25% +$Bright = 0.25 + +[Preset] +name = Shadows 0.35% +$Bright = 0.35 + +[Preset] +name = Shadows 0.45% +$Bright = 0.45 + +[Preset] +name = Shadows 0.55% +$Bright = 0.55 + +[Preset] +name = Shadows 0.65% +$Bright = 0.65 + +[Preset] +name = Shadows 0.75% +$Bright = 0.75 + +[Preset] +name = Shadows 0.95% +$Bright = 0.95 + +[Preset] +name = Shadows 1.0% (Game Original) +$Bright = 1.0 + +[Preset] +name = Shadows 1.15% +$Bright = 1.15 + +[Preset] +name = Shadows 1.25% +$Bright = 1.25 + +[Preset] +name = Shadows 1.35% +$Bright = 1.35 + +[Preset] +name = Shadows 1.45% +$Bright = 1.45 + +[Preset] +name = Shadows 1.55% +$Bright = 1.55 + +[Preset] +name = Shadows 1.65% +$Bright = 1.65 + +[Preset] +name = Shadows 1.75% +$Bright = 1.75 + # Credits - Altros Shadow Brightness Fix v0.8 \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt similarity index 97% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt index c5116211..ba5a46e3 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/1c7db40ff5d693ab_001ffffe4924b249_ps.txt @@ -1,906 +1,906 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader 1c7db40ff5d693ab -- Link and all NPCs Shadows Renderer , NPC Distant Fog RGB Renderer , Body RGB renderer -#define smode $smode -#define shadowsbrightness $shadowsbrightness -#define sred $sred -#define sgreen $sgreen -#define sblue $sblue - -#ifndef smode - #define smode 0 -#endif -#ifndef shadowsbrightness - #define shadowsbrightness 1 -#endif -#ifndef sred - #define sred 1 -#endif -#ifndef sgreen - #define sgreen 1 -#endif -#ifndef sblue - #define sblue 1 -#endif - - -uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 2) in vec4 passParameterSem6; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 3) out vec4 passPixelColor3; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R17i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex7 = 0.0; -R0i = floatBitsToInt(passParameterSem0); // Links cutout comes from passparamsem0 -R1i = floatBitsToInt(passParameterSem2); -R2i = floatBitsToInt(passParameterSem6); - -ivec4 Temp0i = ivec4(0); // initializes a temp vector for shadow mathe-magics - -// ------------------------------------------------------------------------------------------------------------- dynamic shadows on link -if( activeMaskStackC[1] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); // seems to affect links head area -R7i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); // seems to affect shadows on link body -R15i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); -R2i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xw); -R4i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); -R16i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); -R14i.x = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R2i.zw)).x); -} - -// ------------------------------------------------------------------------------------------------------------- false makes link grey -if( activeMaskStackC[1] == true ) { -// 0 -R124i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.y = R125i.y; -R3i.z = 0; -R5i.w = 0x3f800000; -R126i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.y)))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.y)))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[2].x)) + -(intBitsToFloat(uf_remappedPS[2].y)))); -R127i.w = clampFI32(R127i.w); -R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].w)) + 1.0); -PS1i = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[4].x))); -// 3 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PS0i))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[5].x))); -R10i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) * intBitsToFloat(0x3ba3d70a)); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -// 4 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[6].x))); -R125i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); -R127i.w = floatBitsToInt(max(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -// 5 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = R0i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(backupReg0i))); -PV1i.w = R123i.w; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); -PV0i.x = R123i.x; -R6i.y = floatBitsToInt(max(intBitsToFloat(R15i.x), intBitsToFloat(R127i.w))); -R9i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.w)); -PV0i.z = R9i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R125i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 7 -R5i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)); -PV1i.x = R5i.x; -R8i.y = PV0i.z; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R4i.z = floatBitsToInt(tempResultf); -PS1i = R4i.z; -// 8 -R9i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[6].w) + intBitsToFloat(PV1i.z)); -PV0i.z = R8i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(R127i.y))); -R13i.x = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); -PS0i = R13i.x; -// 9 -R127i.x = uf_remappedPS[7].y; -R9i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3a83126f)); -R127i.z = uf_remappedPS[8].y; -R125i.w = floatBitsToInt(min(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 10 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[3].w))/2.0); -PV0i.x = R123i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(0x2edbe6ff)); -R126i.z = uf_remappedPS[9].y; -R127i.w = floatBitsToInt(intBitsToFloat(R13i.x) + intBitsToFloat(0xbecccccd)); -R125i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R125i.x; -// 11 -backupReg0i = R126i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(uf_remappedPS[10].y)))); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R11i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(uf_remappedPS[11].y))); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40200001)); -R126i.w = clampFI32(R126i.w); -R14i.y = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R4i.y) + 1.0)); -PS1i = R14i.y; -// 12 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.z),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R127i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -R0i.x = floatBitsToInt(min(intBitsToFloat(R15i.x), intBitsToFloat(R125i.w))); -R12i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x41200000)); -R12i.y = clampFI32(R12i.y); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].z), intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),-(intBitsToFloat(R125i.x))) + intBitsToFloat(uf_remappedPS[3].z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 15 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[13].x)) + intBitsToFloat(uf_remappedPS[14].w))); -R125i.x = clampFI32(R125i.x); -R127i.y = floatBitsToInt((intBitsToFloat(PS0i) * 4.0 + intBitsToFloat(0xc0400000))); -R127i.y = clampFI32(R127i.y); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R14i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 16 -R17i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); -R17i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3f4ccccd)); -R13i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(0.5)); -R13i.y = floatBitsToInt(intBitsToFloat(R13i.y) * 4.0); -R13i.y = clampFI32(R13i.y); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(PS0i))); -R6i.w = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3f4ccccd)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.z))); -// 18 -R8i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3f4ccccd)); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -R2i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[12].w)),intBitsToFloat(PS1i)) + 1.0)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R12i.x = R1i.w; -R12i.x = clampFI32(R12i.x); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R6i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(0x3f4ccccd)); -PV1i.w = clampFI32(PV1i.w); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R124i.z)); -// 20 -R2i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd) + 1.0)); -R5i.y = R6i.y; -R5i.y = clampFI32(R5i.y); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[15].w))); -R3i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -tempResultf = log2(intBitsToFloat(R125i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.w = floatBitsToInt(tempResultf); -PS0i = R0i.w; -} -// ------------------------------------------------------------------------------------------------------------- false turns link almost dark, lighting on link -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].x), intBitsToFloat(uf_remappedPS[17].w))); -PV0i.x = R126i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].y), intBitsToFloat(uf_remappedPS[17].w))); -PV0i.y = R125i.y; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R14i.y))); -PV0i.z = R10i.z; -R4i.w = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x42960000)); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R2i.y)); -PS0i = R126i.w; -// 1 -R125i.x = PV0i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.x)),intBitsToFloat(PS0i)) + 1.0)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].z), intBitsToFloat(uf_remappedPS[17].w))); -PV1i.z = R126i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); -PV1i.w = R123i.w; -R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R2i.z)) + intBitsToFloat(R2i.z))); -PS1i = R0i.z; -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y), intBitsToFloat(R0i.w))); -PV0i.y = PV1i.z; -R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].x) + -(intBitsToFloat(R6i.x))); -R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].y) + -(intBitsToFloat(R6i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.w)); -PS0i = floatBitsToInt(tempResultf); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R4i.z))); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(0x2edbe6ff)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -R124i.z = backupReg0i; -R124i.z = clampFI32(R124i.z); -R8i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].z) + -(intBitsToFloat(R8i.x))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(backupReg1i))); -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[19].w))); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); -R126i.y = R4i.x; -R126i.y = clampFI32(R126i.y); -PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), 0.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R127i.y))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -// 7 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R15i.w) * intBitsToFloat(0x437f0000)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -PS1i = R127i.y; -// 8 -R127i.x = floatBitsToInt(intBitsToFloat(R15i.x) + -(intBitsToFloat(R6i.y))); -PV0i.y = floatBitsToInt(max(-(intBitsToFloat(PV1i.z)), intBitsToFloat(0xbf7d70a4))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x40a00000)); -PV0i.z = clampFI32(PV0i.z); -R125i.w = floatBitsToInt(intBitsToFloat(R15i.y) + -(intBitsToFloat(R6i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R15i.z) + -(intBitsToFloat(R6i.y))); -PS0i = R124i.w; -// 9 -backupReg0i = R127i.y; -backupReg1i = R6i.z; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV0i.z)) + 1.0)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R5i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); -PV1i.w = R126i.w; -R3i.w = 0; -PS1i = R3i.w; -// 10 -backupReg0i = R127i.x; -backupReg1i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); -PV0i.w = R123i.w; -R127i.w = int(intBitsToFloat(backupReg1i)); -PS0i = R127i.w; -// 11 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R124i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(0xbe593484))); -PV1i.z = R123i.z; -R9i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R124i.x))); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.z))); -// 12 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R124i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); -PV0i.z = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(R127i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(0x3fc90da4))); -PV0i.w = R123i.w; -R127i.y = R127i.w & int(1); -PS0i = R127i.y; -// 13 -backupReg0i = R2i.w; -backupReg0i = R2i.w; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),-(intBitsToFloat(PV0i.w))) + 1.0)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(0xba0a8ec8))); -R5i.y = clampFI32(R5i.y); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(0xba0a8ec8))); -R5i.z = clampFI32(R5i.z); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R10i.z))) + intBitsToFloat(backupReg0i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(0xba0a8ec8))); -R3i.z = clampFI32(R3i.z); -PS1i = R3i.z; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(float(R127i.y)); -// 15 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PS0i))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); -PS1i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3eaaaaab)); -// 16 -R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), -(intBitsToFloat(R3i.w)))); -// 17 -backupReg0i = R7i.x; -R7i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),-(intBitsToFloat(R126i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 18 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.w))); -R7i.z = clampFI32(R7i.z); -// 19 -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PV0i.x))); -PV1i.z = R12i.z; -// 20 -PV0i.y = PV1i.z; -PV0i.y = clampFI32(PV0i.y); -// 21 -R14i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0xbecccccd)); -} - -// ------------------------------------------------------------------------------------------------------------- -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[20].x),intBitsToFloat(uf_remappedPS[20].y),intBitsToFloat(uf_remappedPS[20].z),intBitsToFloat(uf_remappedPS[20].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[21].x),intBitsToFloat(uf_remappedPS[21].y),intBitsToFloat(uf_remappedPS[21].z),intBitsToFloat(uf_remappedPS[21].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R10i.x; -// 3 -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); -} - -// ------------------------------------------------------------------------------------------------------------- makes link yellower -if( activeMaskStackC[1] == true ) { -R9i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R9i.xy),0.0).x); -R10i.w = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R10i.xy),intBitsToFloat(R10i.w)).x); -R11i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R11i.xy)).xyz); -} - -// ------------------------------------------------------------------------------------------------------------- makes link yellower -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R9i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.w) + intBitsToFloat(uf_remappedPS[23].z)); -PV0i.x = clampFI32(PV0i.x); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R6i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); -PV0i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R6i.z))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R6i.z))); -PS0i = R11i.y; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x41c80000) + intBitsToFloat(R9i.z))); -PV1i.x = R123i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[24].z))); -PV1i.y = R3i.y; -// 2 -R4i.y = PV1i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R12i.y))); -R10i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[25].x)); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = clampFI32(PV1i.z); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R8i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R12i.x)) + 1.0)); -PV0i.w = R123i.w; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R7i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[26].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[26].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[26].x))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.x))); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.w))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.y))); -PV1i.w = R123i.w; -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.z))); -// 9 -R0i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -R0i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -R2i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -} - -// ------------------------------------------------------------------------------------------------------------- makes whole link blue/pink -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(uf_remappedPS[27].x)) + intBitsToFloat(uf_remappedPS[28].w))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[29].w))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R14i.y))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.z)) + intBitsToFloat(R0i.z))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.z))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].y), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].z), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); -R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PS0i = R5i.z; -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].x),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -R4i.w = 0; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; // links whole body red -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; // links whole body green -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; // links whole body blue -// 7 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.y))); // affects color of links back side -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.z))); // affects color of links back side -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.w))); // affects color of links back side -// 8 -predResult = (intBitsToFloat(R14i.x) != intBitsToFloat(0x3dc0c0c1)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} - -// ------------------------------------------------------------------------------------------------------------- false makes link back-side shadow blue, light entity behind link -if( activeMaskStackC[2] == true ) { -// 0 -R3i.xyz = floatBitsToInt(vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R4i.z)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z))); -R3i.w = 0x3f800000; -R0i.x = 0; - -// 1 -if(smode == 1) // run custom code -{ - // -- 1. one way to do it - //R0i.yzw = ivec3(R3i.y,R3i.z,R3i.w); - - // -- 2. another way to do it , green and blue channels - // R1i=bright normal, R3i=normal, R15i=dark normal, R4i=red, R5i=blue look, R6i=green look, R7i=nocelshade R17i=nocelshade, R8i=glow, R9i= Solid blue, R11i=lightblue look, R13i=normal look with yellow outline shadows, R14i=lightgreen look - //R0i.yzw = R3i.yzw; // best choice R3i,R7i,R15i - - // -- 3. another way to do it - but mixing color channels - // R1i=bright normal, R3i=normal, R15i=normal with minor flickers, R11i=dark normal, R4i=blue, R6i=lightblue, R7i=no-celshade(looks good), R8i=blueglow, R10=BrightGreen, R12i=Green, R14i=blue, R17i=blue shadow highlights - //R0i.yzw = R15i.xyz; // best choice R7i.xyz and R15i.xyz - - // -- 4. another way to do it, seems best because uses all three color channels, has clay effect indoors - // R1i=bright normal, R3i=normal, R15i=normal, R11i=blue normal - // R4i=Green, R5i=Blue, R6i=Green, R7i=no-celshade(Orangish), R8i=blueglow, R9i=Solidblue, R10=Red, - // R13i=normal look with yellow outline shadows, R14i=Green, R16=weapon bloom, R17i=no-cel green shadow highlights - // R122i=red, - //R0i.xyz = R3i.xyz; // Best Choice R7i, R15i, R1i, R3i - - // -- 1. another way to do it - //R0i.yzw = ivec3(floatBitsToInt(1.4 * shadowsbrightness), floatBitsToInt(1.0 * shadowsbrightness), floatBitsToInt(1.0)); // controls the color and brightness of the backside shadows on all npcs - // -- 2. another way to do it - //R0i.xyzw = ivec4(floatBitsToInt(1.0 * shadowsbrightness), floatBitsToInt(1.0 * shadowsbrightness), floatBitsToInt(1.0 * shadowsbrightness), floatBitsToInt(1.0)); - - - // -- 1. Best Mode R3i.xyz + R7i.y - R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R7i.y) * shadowsbrightness); - R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R7i.y) * shadowsbrightness); - R0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R7i.y) * shadowsbrightness); - - PS0i = R0i.x; -} -else if (smode == 2) -{ - // Mode R3i.xyz + R7i.x - Best mode 2 less shadow highlights - R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R7i.x) * shadowsbrightness); - R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R7i.x) * shadowsbrightness); - R0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R7i.x) * shadowsbrightness); -} -else if (smode == 3) -{ - // R3i.xyz + R17i.y - No enhancement ot the skin ,and very strong shadow higlights - R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R17i.y) * shadowsbrightness); - R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R17i.y) * shadowsbrightness); - R0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R17i.y) * shadowsbrightness); -} -else if (smode == 4) -{ - // R3i.xyz + R4i.y - Light Shaded Mode - R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R4i.y) * shadowsbrightness); - R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R4i.y) * shadowsbrightness); - R0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R4i.y) * shadowsbrightness); -} -else if (smode == 5) -{ - // R3i.xyz + R15i.x - Cool mode with minor flickers in the wind - R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R15i.x) * shadowsbrightness); - R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R15i.x) * shadowsbrightness); - R0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R15i.x) * shadowsbrightness); -} -else // run the original shader code -{ - // original shader code - PS0i = R0i.x; - R0i.yzw = ivec3(0,0,0); // orginal code -} - -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; - -// ------------------------------------------------------------------------------------------------------------- false changes links color to be more yellowish -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[30].x),intBitsToFloat(uf_remappedPS[30].y),intBitsToFloat(uf_remappedPS[30].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.w = 0x40400000; -PS0i = R0i.w; -// 1 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[31].x),intBitsToFloat(uf_remappedPS[31].y),intBitsToFloat(uf_remappedPS[31].z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(uf_remappedPS[32].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R13i.x))); -// 3 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg1i = R127i.z; -redcCUBE(vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); -R127i.x = floatBitsToInt(cubeMapSTM.x); -R127i.y = floatBitsToInt(cubeMapSTM.y); -R127i.z = floatBitsToInt(cubeMapSTM.z); -R127i.w = cubeMapFaceId; -PV1i.x = R127i.x; -PV1i.y = R127i.y; -PV1i.z = R127i.z; -PV1i.w = R127i.w; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); -R2i.z = clampFI32(R2i.z); -PS1i = R2i.z; -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(0x42960000)); -PV0i.x = clampFI32(PV0i.x); -R0i.z = PV1i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 5 -backupReg0i = R1i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.z))); -PS1i = R1i.x; -// 6 -R0i.x = PV1i.w; -R0i.y = PV1i.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PV1i.z))); -PS0i = R3i.x; -} - -// ------------------------------------------------------------------------------------------------------------- false makes link back side brightened up and affected by light changes, front shadows and back affected. -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex7),intBitsToFloat(R0i.w)).xyz); -} - -// ------------------------------------------------------------------------------------------------------------- false makes link a bit brighter front and back -if( activeMaskStackC[2] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.x))); -PV0i.y = R123i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(R1i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.z))); -PV0i.w = R123i.w; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(R1i.y))); -PS0i = R3i.y; -// 1 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R2i.x))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z))); -R0i.w = 0; -R3i.w = 0x3f800000; -PS1i = R3i.w; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; - -// ------------------------------------------------------------------------------------------------------------- false darkens links models curves shadows -if( activeMaskStackC[1] == true ) { -// 0 -R1i.w = 0x3f800000; -// 1 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R3i.w; -R3i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); -R3i.w = backupReg3i; -// 2 -R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); -R2i.w = R0i.w; -// 3 -backupReg0i = R1i.w; -R1i.xyz = ivec3(R4i.x,R5i.y,R6i.z); -R1i.w = backupReg0i; -// 4 -R0i.xyz = ivec3(R13i.x,R4i.y,R5i.z); -R0i.w = R4i.w; -// 5 -R4i.xyz = ivec3(R7i.x,R7i.x,R7i.x); -R4i.w = R7i.x; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // light/shadows on link front side -passPixelColor1 = vec4(intBitsToFloat(R1i.x)*0, intBitsToFloat(R1i.y)*0, intBitsToFloat(R1i.z)*0, intBitsToFloat(R1i.w)); // links and all npcs fog rgb -passPixelColor2 = vec4(intBitsToFloat(R2i.x) * sred, intBitsToFloat(R2i.y) * sgreen, intBitsToFloat(R2i.z) * sblue, intBitsToFloat(R2i.w)) ; // Controls link RGB only in celshade mode and when original code is run (line 713). In no-celshade mode it changes the lighting on links back-side away from the sun -passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -passPixelColor4 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader 1c7db40ff5d693ab -- Link and all NPCs Shadows Renderer , NPC Distant Fog RGB Renderer , Body RGB renderer +#define smode $smode +#define shadowsbrightness $shadowsbrightness +#define sred $sred +#define sgreen $sgreen +#define sblue $sblue + +#ifndef smode + #define smode 0 +#endif +#ifndef shadowsbrightness + #define shadowsbrightness 1 +#endif +#ifndef sred + #define sred 1 +#endif +#ifndef sgreen + #define sgreen 1 +#endif +#ifndef sblue + #define sblue 1 +#endif + + +uniform ivec4 uf_remappedPS[33]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 2) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 2) out vec4 passPixelColor2; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 4) out vec4 passPixelColor4; +uniform vec2 uf_fragCoordScale; +void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) +{ +// stm -> x .. s, y .. t, z .. MajorAxis*2.0 +vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); +float rx = inputCoord.x; +float ry = inputCoord.y; +float rz = inputCoord.z; +if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) +{ +stm.z = rx*2.0; +stm.xy = vec2(ry,rz); +if( rx >= 0.0 ) +{ +faceId = 0; +} +else +{ +faceId = 1; +} +} +else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) +{ +stm.z = ry*2.0; +stm.xy = vec2(rx,rz); +if( ry >= 0.0 ) +{ +faceId = 2; +} +else +{ +faceId = 3; +} +} +else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) +{ +stm.z = rz*2.0; +stm.xy = vec2(rx,ry); +if( rz >= 0.0 ) +{ +faceId = 4; +} +else +{ +faceId = 5; +} +} +} +vec3 redcCUBEReverse(vec2 st, int faceId) +{ +st.yx = st.xy; +vec3 v; +float majorAxis = 1.0; +if( faceId == 0 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = 1.0; +} +else if( faceId == 1 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = -1.0; +} +else if( faceId == 2 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = 1.0; +} +else if( faceId == 3 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = -1.0; +} +else if( faceId == 4 ) +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = 1.0; +} +else +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = -1.0; +} +return v; +} +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R7i = ivec4(0); +ivec4 R8i = ivec4(0); +ivec4 R9i = ivec4(0); +ivec4 R10i = ivec4(0); +ivec4 R11i = ivec4(0); +ivec4 R12i = ivec4(0); +ivec4 R13i = ivec4(0); +ivec4 R14i = ivec4(0); +ivec4 R15i = ivec4(0); +ivec4 R16i = ivec4(0); +ivec4 R17i = ivec4(0); +ivec4 R122i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +bool activeMaskStack[2]; +bool activeMaskStackC[3]; +activeMaskStack[0] = false; +activeMaskStackC[0] = false; +activeMaskStackC[1] = false; +activeMaskStack[0] = true; +activeMaskStackC[0] = true; +activeMaskStackC[1] = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +float cubeMapArrayIndex7 = 0.0; +R0i = floatBitsToInt(passParameterSem0); // Links cutout comes from passparamsem0 +R1i = floatBitsToInt(passParameterSem2); +R2i = floatBitsToInt(passParameterSem6); + +ivec4 Temp0i = ivec4(0); // initializes a temp vector for shadow mathe-magics + +// ------------------------------------------------------------------------------------------------------------- dynamic shadows on link +if( activeMaskStackC[1] == true ) { +R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); // seems to affect links head area +R7i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); // seems to affect shadows on link body +R15i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); +R2i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xw); +R4i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); +R16i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); +R14i.x = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R2i.zw)).x); +} + +// ------------------------------------------------------------------------------------------------------------- false makes link grey +if( activeMaskStackC[1] == true ) { +// 0 +R124i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.y = R125i.y; +R3i.z = 0; +R5i.w = 0x3f800000; +R126i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); +PS0i = R126i.y; +// 1 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.y)))); +PV1i.x = R126i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.y)))); +PV1i.y = R127i.y; +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y))); +PV1i.z = R127i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[2].x)) + -(intBitsToFloat(uf_remappedPS[2].y)))); +R127i.w = clampFI32(R127i.w); +R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].w)) + 1.0); +PS1i = R126i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[4].x))); +// 3 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PS0i))); +R3i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[5].x))); +R10i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) * intBitsToFloat(0x3ba3d70a)); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +// 4 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV1i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[6].x))); +R125i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); +R127i.w = floatBitsToInt(max(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); +// 5 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.y))); +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +PV1i.y = R0i.y; +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(backupReg0i))); +PV1i.w = R123i.w; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); +PS1i = R3i.x; +// 6 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); +PV0i.x = R123i.x; +R6i.y = floatBitsToInt(max(intBitsToFloat(R15i.x), intBitsToFloat(R127i.w))); +R9i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.w)); +PV0i.z = R9i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R125i.x))); +PV0i.w = R123i.w; +tempResultf = log2(intBitsToFloat(R3i.y)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R127i.y = floatBitsToInt(tempResultf); +PS0i = R127i.y; +// 7 +R5i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)); +PV1i.x = R5i.x; +R8i.y = PV0i.z; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(R127i.x))); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +R4i.z = floatBitsToInt(tempResultf); +PS1i = R4i.z; +// 8 +R9i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(R127i.y))); +R8i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[6].w) + intBitsToFloat(PV1i.z)); +PV0i.z = R8i.z; +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(R127i.y))); +R13i.x = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); +PS0i = R13i.x; +// 9 +R127i.x = uf_remappedPS[7].y; +R9i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3a83126f)); +R127i.z = uf_remappedPS[8].y; +R125i.w = floatBitsToInt(min(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 10 +backupReg0i = R127i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[3].w))/2.0); +PV0i.x = R123i.x; +R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(0x2edbe6ff)); +R126i.z = uf_remappedPS[9].y; +R127i.w = floatBitsToInt(intBitsToFloat(R13i.x) + intBitsToFloat(0xbecccccd)); +R125i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); +PS0i = R125i.x; +// 11 +backupReg0i = R126i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(uf_remappedPS[10].y)))); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R11i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(uf_remappedPS[11].y))); +R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40200001)); +R126i.w = clampFI32(R126i.w); +R14i.y = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R4i.y) + 1.0)); +PS1i = R14i.y; +// 12 +backupReg0i = R0i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.z),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),0.0))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +PS0i = R127i.x; +// 13 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +tempResultf = log2(intBitsToFloat(PV0i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 14 +R0i.x = floatBitsToInt(min(intBitsToFloat(R15i.x), intBitsToFloat(R125i.w))); +R12i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x41200000)); +R12i.y = clampFI32(R12i.y); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].z), intBitsToFloat(PS1i))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),-(intBitsToFloat(R125i.x))) + intBitsToFloat(uf_remappedPS[3].z))); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 15 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[13].x)) + intBitsToFloat(uf_remappedPS[14].w))); +R125i.x = clampFI32(R125i.x); +R127i.y = floatBitsToInt((intBitsToFloat(PS0i) * 4.0 + intBitsToFloat(0xc0400000))); +R127i.y = clampFI32(R127i.y); +R126i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd)); +R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R14i.y))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); +// 16 +R17i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); +R17i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); +R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); +R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); +tempResultf = log2(intBitsToFloat(R127i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 17 +R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3f4ccccd)); +R13i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(0.5)); +R13i.y = floatBitsToInt(intBitsToFloat(R13i.y) * 4.0); +R13i.y = clampFI32(R13i.y); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(PS0i))); +R6i.w = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3f4ccccd)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.z))); +// 18 +R8i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3f4ccccd)); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +R2i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[12].w)),intBitsToFloat(PS1i)) + 1.0)); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); +// 19 +R12i.x = R1i.w; +R12i.x = clampFI32(R12i.x); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); +PV1i.y = R123i.y; +R6i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV0i.y))); +PV1i.w = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(0x3f4ccccd)); +PV1i.w = clampFI32(PV1i.w); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R124i.z)); +// 20 +R2i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd) + 1.0)); +R5i.y = R6i.y; +R5i.y = clampFI32(R5i.y); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[15].w))); +R3i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); +tempResultf = log2(intBitsToFloat(R125i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R0i.w = floatBitsToInt(tempResultf); +PS0i = R0i.w; +} +// ------------------------------------------------------------------------------------------------------------- false turns link almost dark, lighting on link +if( activeMaskStackC[1] == true ) { +// 0 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].x), intBitsToFloat(uf_remappedPS[17].w))); +PV0i.x = R126i.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].y), intBitsToFloat(uf_remappedPS[17].w))); +PV0i.y = R125i.y; +R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R14i.y))); +PV0i.z = R10i.z; +R4i.w = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x42960000)); +R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R2i.y)); +PS0i = R126i.w; +// 1 +R125i.x = PV0i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.x)),intBitsToFloat(PS0i)) + 1.0)); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].z), intBitsToFloat(uf_remappedPS[17].w))); +PV1i.z = R126i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); +PV1i.w = R123i.w; +R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R2i.z)) + intBitsToFloat(R2i.z))); +PS1i = R0i.z; +// 2 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y), intBitsToFloat(R0i.w))); +PV0i.y = PV1i.z; +R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].x) + -(intBitsToFloat(R6i.x))); +R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].y) + -(intBitsToFloat(R6i.w))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.w)); +PS0i = floatBitsToInt(tempResultf); +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R3i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R4i.z))); +// 4 +backupReg0i = R127i.y; +backupReg1i = R127i.x; +R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(0x2edbe6ff)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); +R124i.z = backupReg0i; +R124i.z = clampFI32(R124i.z); +R8i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].z) + -(intBitsToFloat(R8i.x))); +PS0i = floatBitsToInt(exp2(intBitsToFloat(backupReg1i))); +// 5 +backupReg0i = R0i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[19].w))); +// 6 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); +R126i.y = R4i.x; +R126i.y = clampFI32(R126i.y); +PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), 0.0)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R127i.y))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); +// 7 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.y))); +PV1i.z = R123i.z; +R127i.w = floatBitsToInt(intBitsToFloat(R15i.w) * intBitsToFloat(0x437f0000)); +R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); +PS1i = R127i.y; +// 8 +R127i.x = floatBitsToInt(intBitsToFloat(R15i.x) + -(intBitsToFloat(R6i.y))); +PV0i.y = floatBitsToInt(max(-(intBitsToFloat(PV1i.z)), intBitsToFloat(0xbf7d70a4))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x40a00000)); +PV0i.z = clampFI32(PV0i.z); +R125i.w = floatBitsToInt(intBitsToFloat(R15i.y) + -(intBitsToFloat(R6i.y))); +R124i.w = floatBitsToInt(intBitsToFloat(R15i.z) + -(intBitsToFloat(R6i.y))); +PS0i = R124i.w; +// 9 +backupReg0i = R127i.y; +backupReg1i = R6i.z; +R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV0i.z)) + 1.0)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R5i.y))); +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); +R126i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); +PV1i.w = R126i.w; +R3i.w = 0; +PS1i = R3i.w; +// 10 +backupReg0i = R127i.x; +backupReg1i = R127i.w; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); +PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); +R123i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); +PV0i.w = R123i.w; +R127i.w = int(intBitsToFloat(backupReg1i)); +PS0i = R127i.w; +// 11 +backupReg0i = R125i.x; +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.y))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R124i.x))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(0xbe593484))); +PV1i.z = R123i.z; +R9i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R124i.x))); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.z))); +// 12 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R124i.x))); +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); +PV0i.z = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(R127i.y)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(0x3fc90da4))); +PV0i.w = R123i.w; +R127i.y = R127i.w & int(1); +PS0i = R127i.y; +// 13 +backupReg0i = R2i.w; +backupReg0i = R2i.w; +R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),-(intBitsToFloat(PV0i.w))) + 1.0)); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(0xba0a8ec8))); +R5i.y = clampFI32(R5i.y); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(0xba0a8ec8))); +R5i.z = clampFI32(R5i.z); +R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R10i.z))) + intBitsToFloat(backupReg0i))); +R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(0xba0a8ec8))); +R3i.z = clampFI32(R3i.z); +PS1i = R3i.z; +// 14 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(float(R127i.y)); +// 15 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PS0i))); +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(PS0i))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); +PS1i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3eaaaaab)); +// 16 +R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PS1i))); +PV0i.x = R123i.x; +PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), -(intBitsToFloat(R3i.w)))); +// 17 +backupReg0i = R7i.x; +R7i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PV0i.x))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),-(intBitsToFloat(R126i.z))) + intBitsToFloat(PS0i))); +PS1i = R122i.x; +// 18 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PS1i))); +PV0i.x = R123i.x; +R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.w))); +R7i.z = clampFI32(R7i.z); +// 19 +R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PV0i.x))); +PV1i.z = R12i.z; +// 20 +PV0i.y = PV1i.z; +PV0i.y = clampFI32(PV0i.y); +// 21 +R14i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0xbecccccd)); +} + +// ------------------------------------------------------------------------------------------------------------- +if( activeMaskStackC[1] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[20].x),intBitsToFloat(uf_remappedPS[20].y),intBitsToFloat(uf_remappedPS[20].z),intBitsToFloat(uf_remappedPS[20].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[21].x),intBitsToFloat(uf_remappedPS[21].y),intBitsToFloat(uf_remappedPS[21].z),intBitsToFloat(uf_remappedPS[21].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +PS1i = R126i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); +PS0i = R10i.x; +// 3 +R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); +} + +// ------------------------------------------------------------------------------------------------------------- makes link yellower +if( activeMaskStackC[1] == true ) { +R9i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R9i.xy),0.0).x); +R10i.w = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R10i.xy),intBitsToFloat(R10i.w)).x); +R11i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R11i.xy)).xyz); +} + +// ------------------------------------------------------------------------------------------------------------- makes link yellower +if( activeMaskStackC[1] == true ) { +// 0 +backupReg0i = R9i.y; +PV0i.x = floatBitsToInt(intBitsToFloat(R10i.w) + intBitsToFloat(uf_remappedPS[23].z)); +PV0i.x = clampFI32(PV0i.x); +R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R6i.z))); +R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); +PV0i.z = R123i.z; +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R6i.z))); +R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R6i.z))); +PS0i = R11i.y; +// 1 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x41c80000) + intBitsToFloat(R9i.z))); +PV1i.x = R123i.x; +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[24].z))); +PV1i.y = R3i.y; +// 2 +R4i.y = PV1i.y; +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R12i.y))); +R10i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[25].x)); +// 3 +PV1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.z)); +PV1i.z = clampFI32(PV1i.z); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); +// 4 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R8i.x))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.w))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.x))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R12i.x)) + 1.0)); +PV0i.w = R123i.w; +// 5 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R7i.z))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[26].z))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[26].y))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[26].x))); +// 6 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.x))); +// 7 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.w))); +PV1i.x = R123i.x; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.y))); +PV1i.w = R123i.w; +// 8 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.z))); +// 9 +R0i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +R0i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +R2i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +} + +// ------------------------------------------------------------------------------------------------------------- makes whole link blue/pink +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(uf_remappedPS[27].x)) + intBitsToFloat(uf_remappedPS[28].w))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +// 1 +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[29].w))); +// 2 +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R14i.y))); +// 3 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.z)) + intBitsToFloat(R0i.z))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.z))); +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].y), intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].z), intBitsToFloat(PV1i.y))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].x), intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); +R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); +PS0i = R5i.z; +// 5 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.y))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].x),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.x))); +PV1i.z = R123i.z; +R4i.w = 0; +// 6 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.y))); +PV0i.y = R123i.y; // links whole body red +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.z))); +PV0i.z = R123i.z; // links whole body green +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.x))); +PV0i.w = R123i.w; // links whole body blue +// 7 +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.y))); // affects color of links back side +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.z))); // affects color of links back side +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.w))); // affects color of links back side +// 8 +predResult = (intBitsToFloat(R14i.x) != intBitsToFloat(0x3dc0c0c1)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} + +// ------------------------------------------------------------------------------------------------------------- false makes link back-side shadow blue, light entity behind link +if( activeMaskStackC[2] == true ) { +// 0 +R3i.xyz = floatBitsToInt(vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R4i.z)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z))); +R3i.w = 0x3f800000; +R0i.x = 0; + +// 1 +if(smode == 1) // run custom code +{ + // -- 1. one way to do it + //R0i.yzw = ivec3(R3i.y,R3i.z,R3i.w); + + // -- 2. another way to do it , green and blue channels + // R1i=bright normal, R3i=normal, R15i=dark normal, R4i=red, R5i=blue look, R6i=green look, R7i=nocelshade R17i=nocelshade, R8i=glow, R9i= Solid blue, R11i=lightblue look, R13i=normal look with yellow outline shadows, R14i=lightgreen look + //R0i.yzw = R3i.yzw; // best choice R3i,R7i,R15i + + // -- 3. another way to do it - but mixing color channels + // R1i=bright normal, R3i=normal, R15i=normal with minor flickers, R11i=dark normal, R4i=blue, R6i=lightblue, R7i=no-celshade(looks good), R8i=blueglow, R10=BrightGreen, R12i=Green, R14i=blue, R17i=blue shadow highlights + //R0i.yzw = R15i.xyz; // best choice R7i.xyz and R15i.xyz + + // -- 4. another way to do it, seems best because uses all three color channels, has clay effect indoors + // R1i=bright normal, R3i=normal, R15i=normal, R11i=blue normal + // R4i=Green, R5i=Blue, R6i=Green, R7i=no-celshade(Orangish), R8i=blueglow, R9i=Solidblue, R10=Red, + // R13i=normal look with yellow outline shadows, R14i=Green, R16=weapon bloom, R17i=no-cel green shadow highlights + // R122i=red, + //R0i.xyz = R3i.xyz; // Best Choice R7i, R15i, R1i, R3i + + // -- 1. another way to do it + //R0i.yzw = ivec3(floatBitsToInt(1.4 * shadowsbrightness), floatBitsToInt(1.0 * shadowsbrightness), floatBitsToInt(1.0)); // controls the color and brightness of the backside shadows on all npcs + // -- 2. another way to do it + //R0i.xyzw = ivec4(floatBitsToInt(1.0 * shadowsbrightness), floatBitsToInt(1.0 * shadowsbrightness), floatBitsToInt(1.0 * shadowsbrightness), floatBitsToInt(1.0)); + + + // -- 1. Best Mode R3i.xyz + R7i.y + R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R7i.y) * shadowsbrightness); + R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R7i.y) * shadowsbrightness); + R0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R7i.y) * shadowsbrightness); + + PS0i = R0i.x; +} +else if (smode == 2) +{ + // Mode R3i.xyz + R7i.x - Best mode 2 less shadow highlights + R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R7i.x) * shadowsbrightness); + R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R7i.x) * shadowsbrightness); + R0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R7i.x) * shadowsbrightness); +} +else if (smode == 3) +{ + // R3i.xyz + R17i.y - No enhancement ot the skin ,and very strong shadow higlights + R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R17i.y) * shadowsbrightness); + R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R17i.y) * shadowsbrightness); + R0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R17i.y) * shadowsbrightness); +} +else if (smode == 4) +{ + // R3i.xyz + R4i.y - Light Shaded Mode + R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R4i.y) * shadowsbrightness); + R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R4i.y) * shadowsbrightness); + R0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R4i.y) * shadowsbrightness); +} +else if (smode == 5) +{ + // R3i.xyz + R15i.x - Cool mode with minor flickers in the wind + R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R15i.x) * shadowsbrightness); + R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R15i.x) * shadowsbrightness); + R0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R15i.x) * shadowsbrightness); +} +else // run the original shader code +{ + // original shader code + PS0i = R0i.x; + R0i.yzw = ivec3(0,0,0); // orginal code +} + +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; + +// ------------------------------------------------------------------------------------------------------------- false changes links color to be more yellowish +if( activeMaskStackC[2] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[30].x),intBitsToFloat(uf_remappedPS[30].y),intBitsToFloat(uf_remappedPS[30].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R0i.w = 0x40400000; +PS0i = R0i.w; +// 1 +R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[31].x),intBitsToFloat(uf_remappedPS[31].y),intBitsToFloat(uf_remappedPS[31].z),0.0))); +PV1i.x = R127i.x; +PV1i.y = R127i.x; +PV1i.z = R127i.x; +PV1i.w = R127i.x; +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +PS1i = R127i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(uf_remappedPS[32].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R13i.x))); +// 3 +backupReg0i = R127i.x; +backupReg0i = R127i.x; +backupReg1i = R127i.z; +backupReg1i = R127i.z; +redcCUBE(vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); +R127i.x = floatBitsToInt(cubeMapSTM.x); +R127i.y = floatBitsToInt(cubeMapSTM.y); +R127i.z = floatBitsToInt(cubeMapSTM.z); +R127i.w = cubeMapFaceId; +PV1i.x = R127i.x; +PV1i.y = R127i.y; +PV1i.z = R127i.z; +PV1i.w = R127i.w; +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); +R2i.z = clampFI32(R2i.z); +PS1i = R2i.z; +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(0x42960000)); +PV0i.x = clampFI32(PV0i.x); +R0i.z = PV1i.w; +PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +// 5 +backupReg0i = R1i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + 1.5)); +PV1i.x = R123i.x; +R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.x))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + 1.5)); +PV1i.w = R123i.w; +R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.z))); +PS1i = R1i.x; +// 6 +R0i.x = PV1i.w; +R0i.y = PV1i.x; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PV1i.z))); +PS0i = R3i.x; +} + +// ------------------------------------------------------------------------------------------------------------- false makes link back side brightened up and affected by light changes, front shadows and back affected. +if( activeMaskStackC[2] == true ) { +R0i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex7),intBitsToFloat(R0i.w)).xyz); +} + +// ------------------------------------------------------------------------------------------------------------- false makes link a bit brighter front and back +if( activeMaskStackC[2] == true ) { +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.y))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.x))); +PV0i.y = R123i.y; +R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(R1i.x))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.z))); +PV0i.w = R123i.w; +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(R1i.y))); +PS0i = R3i.y; +// 1 +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R2i.x))); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z))); +R0i.w = 0; +R3i.w = 0x3f800000; +PS1i = R3i.w; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; + +// ------------------------------------------------------------------------------------------------------------- false darkens links models curves shadows +if( activeMaskStackC[1] == true ) { +// 0 +R1i.w = 0x3f800000; +// 1 +backupReg0i = R3i.x; +backupReg1i = R3i.y; +backupReg2i = R3i.z; +backupReg3i = R3i.w; +R3i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); +R3i.w = backupReg3i; +// 2 +R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); +R2i.w = R0i.w; +// 3 +backupReg0i = R1i.w; +R1i.xyz = ivec3(R4i.x,R5i.y,R6i.z); +R1i.w = backupReg0i; +// 4 +R0i.xyz = ivec3(R13i.x,R4i.y,R5i.z); +R0i.w = R4i.w; +// 5 +R4i.xyz = ivec3(R7i.x,R7i.x,R7i.x); +R4i.w = R7i.x; +} +// export +passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // light/shadows on link front side +passPixelColor1 = vec4(intBitsToFloat(R1i.x)*0, intBitsToFloat(R1i.y)*0, intBitsToFloat(R1i.z)*0, intBitsToFloat(R1i.w)); // links and all npcs fog rgb +passPixelColor2 = vec4(intBitsToFloat(R2i.x) * sred, intBitsToFloat(R2i.y) * sgreen, intBitsToFloat(R2i.z) * sblue, intBitsToFloat(R2i.w)) ; // Controls link RGB only in celshade mode and when original code is run (line 713). In no-celshade mode it changes the lighting on links back-side away from the sun +passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); +passPixelColor4 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +} diff --git a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt similarity index 90% rename from Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt rename to Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt index f4a47819..541d33c0 100644 --- a/Enhancements/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt +++ b/Mods/BreathOfTheWild_CelShadingRemoval/Botw_ShadowFix_SkalFate/rules.txt @@ -1,241 +1,241 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = Links Shadow Brightness for No Cel-Shading Pack -path = "The Legend of Zelda: Breath of the Wild/Enhancements/Cel-Shading Removal/Shadow Brightness Fix - SkalFate" -description = Changes the strength of shadows on Links body. Fixes the very dark link issue in no cel-shade mode. -version = 3 - - -[Preset] -name = Mode 1 - Shadows X1 (Best Mode) -$smode = 1 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 2 - Shadows X1 (No Highlights) -$smode = 2 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 3 - Shadows X1 (Strong Highlights) -$smode = 3 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 4 - Shadows X1 (LightShade) -$smode = 4 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 5 - Shadows X1 (DarkShade) -$smode = 5 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = ---------------------------------------- -$smode = 1 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 1 - Shadows X4 (Best Mode) -$smode = 1 -$shadowsbrightness = 4 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 2 - Shadows X4 (No Highlights) -$smode = 2 -$shadowsbrightness = 4 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 3 - Shadows X4 (Strong Highlights) -$smode = 3 -$shadowsbrightness = 4 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 4 - Shadows X4 (LightShade) -$smode = 4 -$shadowsbrightness = 4 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 5 - Shadows X4 (DarkShade) -$smode = 5 -$shadowsbrightness = 4 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = ---------------------------------------- -$smode = 1 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 1 - Shadows X8 (Best Mode) -$smode = 1 -$shadowsbrightness = 8 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 2 - Shadows X8 (No Highlights) -$smode = 2 -$shadowsbrightness = 8 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 3 - Shadows X8 (Strong Highlights) -$smode = 3 -$shadowsbrightness = 8 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 4 - Shadows X8 (LightShade) -$smode = 4 -$shadowsbrightness = 8 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Mode 5 - Shadows X8 (DarkShade) -$smode = 5 -$shadowsbrightness = 8 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = ---------------------------------------- -$smode = 1 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Red Link -$smode = 1 -$shadowsbrightness = 2 -$sred = 10 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Red Link X2 -$smode = 1 -$shadowsbrightness = 2 -$sred = 20 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Green Link -$smode = 1 -$shadowsbrightness = 2 -$sred = 1 -$sgreen = 10 -$sblue = 1 - -[Preset] -name = Green Link X2 -$smode = 1 -$shadowsbrightness = 2 -$sred = 1 -$sgreen = 20 -$sblue = 1 - -[Preset] -name = Blue Link -$smode = 1 -$shadowsbrightness = 2 -$sred = 1 -$sgreen = 1 -$sblue = 10 - -[Preset] -name = Blue Link X2 -$smode = 1 -$shadowsbrightness = 2 -$sred = 1 -$sgreen = 1 -$sblue = 20 - -[Preset] -name = ---------------------------------------- -$smode = 1 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Orignal Game Mode -$smode = 0 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = ---------------------------------------- -$smode = 1 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - -[Preset] -name = Custom Settings -$smode = 1 -$shadowsbrightness = 1 -$sred = 1 -$sgreen = 1 -$sblue = 1 - - -# Credits - SkalFate -# -# Shadow Mode (smode) -- Various visual styles can be achieved with mode 1-5 -# -# Shadow Brihtness (shadowbrightness) - Controls how brightened up link and his back side will be -# -# RGB - sred, sgreen, sblue - adjusting this will add more intensity of the specific color. +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Links Shadow Brightness for No Cel-Shading Pack +path = "The Legend of Zelda: Breath of the Wild/Mods/Cel-Shading Removal (SkalFate & Altros)/Shadow Brightness Fix - SkalFate" +description = Changes the strength of shadows on Links body. Fixes the very dark link issue in no cel-shade mode. +version = 3 + + +[Preset] +name = Mode 1 - Shadows X1 (Best Mode) +$smode = 1 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 2 - Shadows X1 (No Highlights) +$smode = 2 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 3 - Shadows X1 (Strong Highlights) +$smode = 3 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 4 - Shadows X1 (LightShade) +$smode = 4 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 5 - Shadows X1 (DarkShade) +$smode = 5 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = ---------------------------------------- +$smode = 1 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 1 - Shadows X4 (Best Mode) +$smode = 1 +$shadowsbrightness = 4 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 2 - Shadows X4 (No Highlights) +$smode = 2 +$shadowsbrightness = 4 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 3 - Shadows X4 (Strong Highlights) +$smode = 3 +$shadowsbrightness = 4 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 4 - Shadows X4 (LightShade) +$smode = 4 +$shadowsbrightness = 4 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 5 - Shadows X4 (DarkShade) +$smode = 5 +$shadowsbrightness = 4 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = ---------------------------------------- +$smode = 1 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 1 - Shadows X8 (Best Mode) +$smode = 1 +$shadowsbrightness = 8 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 2 - Shadows X8 (No Highlights) +$smode = 2 +$shadowsbrightness = 8 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 3 - Shadows X8 (Strong Highlights) +$smode = 3 +$shadowsbrightness = 8 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 4 - Shadows X8 (LightShade) +$smode = 4 +$shadowsbrightness = 8 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Mode 5 - Shadows X8 (DarkShade) +$smode = 5 +$shadowsbrightness = 8 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = ---------------------------------------- +$smode = 1 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Red Link +$smode = 1 +$shadowsbrightness = 2 +$sred = 10 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Red Link X2 +$smode = 1 +$shadowsbrightness = 2 +$sred = 20 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Green Link +$smode = 1 +$shadowsbrightness = 2 +$sred = 1 +$sgreen = 10 +$sblue = 1 + +[Preset] +name = Green Link X2 +$smode = 1 +$shadowsbrightness = 2 +$sred = 1 +$sgreen = 20 +$sblue = 1 + +[Preset] +name = Blue Link +$smode = 1 +$shadowsbrightness = 2 +$sred = 1 +$sgreen = 1 +$sblue = 10 + +[Preset] +name = Blue Link X2 +$smode = 1 +$shadowsbrightness = 2 +$sred = 1 +$sgreen = 1 +$sblue = 20 + +[Preset] +name = ---------------------------------------- +$smode = 1 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Orignal Game Mode +$smode = 0 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = ---------------------------------------- +$smode = 1 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + +[Preset] +name = Custom Settings +$smode = 1 +$shadowsbrightness = 1 +$sred = 1 +$sgreen = 1 +$sblue = 1 + + +# Credits - SkalFate +# +# Shadow Mode (smode) -- Various visual styles can be achieved with mode 1-5 +# +# Shadow Brihtness (shadowbrightness) - Controls how brightened up link and his back side will be +# +# RGB - sred, sgreen, sblue - adjusting this will add more intensity of the specific color. # ------ Values are multiplied, so if you want to lower values use [0.01 - 1.0], or if you want to raise then use [1.00 - X.X] \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt similarity index 98% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt index 50ced34e..cd875eeb 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/2e2543216c04766d_0000000079249749_ps.txt @@ -1,685 +1,685 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader 2e2543216c04766d -- Water RGB and edge clarity and Distant Water Fog -#define waterfogred $waterfogred -#define waterfoggreen $waterfoggreen -#define waterfogblue $waterfogblue - -uniform ivec4 uf_remappedPS[14]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 1 - -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem4; -layout(location = 2) in vec4 passParameterSem6; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; - -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } - -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex8 = 0.0; - -R0i = floatBitsToInt(passParameterSem0); // messing with this turns all body of water milky -R1i = floatBitsToInt(passParameterSem4); // does something to close water -R2i = floatBitsToInt(passParameterSem6); // afects near water bodies, reflections frame? - -R3i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).x); -R6i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); // water body world reflection frame R2izw -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS6, intBitsToFloat(R0i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS7, intBitsToFloat(R0i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zw)).xyzw); // affects edge of bodies of water - -// 0 -R126i.x = floatBitsToInt((intBitsToFloat(R6i.x) * 2.0 + -(1.0))); // light reflections on water 2.0 defualt -R127i.y = floatBitsToInt((intBitsToFloat(R6i.y) * 2.0 + -(1.0))); // light reflections on water -R127i.z = floatBitsToInt((intBitsToFloat(R6i.z) * 2.0 + -(1.0))); // light reflections on water -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); // shiny ripples on water -PV0i.w = R123i.w; -R126i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.x)); -PS0i = R126i.z; -// 1 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.w)))); // R0i how much light reflection light reflections -PV1i.x = R2i.x; -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.w)))); // R0i how much light reflection light reflections -PV1i.y = R2i.y; -R124i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); // light reflection rays going off from a center point -PV1i.z = R124i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[2].y))); // enlargens light ripples reflection on waves x200 to visually see -R125i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.y)); -PS1i = R125i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0)));// turns water more solid color -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R2i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); // (R126i.x) controls the amount of shiny waves -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.x = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -PS1i = R127i.x; -// 4 -R124i.x = floatBitsToInt(intBitsToFloat(R2i.x) + -(intBitsToFloat(uf_remappedPS[3].x))); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.y) + -(intBitsToFloat(uf_remappedPS[3].y))); -R125i.z = floatBitsToInt(intBitsToFloat(R124i.z) + -(intBitsToFloat(uf_remappedPS[3].z))); -R125i.w = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(0x43480000)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R127i.w = R2i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -// 6 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -PV0i.x = R11i.x; -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS1i))); -PV0i.y = R11i.y; -R12i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS1i))); -PV0i.z = R12i.z; -R126i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.z)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.w)); -PS0i = R127i.y; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(R127i.w))); -PS1i = R125i.y; -// 8 -backupReg0i = R126i.z; -backupReg0i = R126i.z; -backupReg1i = R125i.x; -backupReg1i = R125i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R11i.x))); -R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.y)) + intBitsToFloat(R11i.y))); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R12i.z))); -R127i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -R125i.x = floatBitsToInt(max(intBitsToFloat(backupReg1i), -(intBitsToFloat(backupReg1i)))); -PS0i = R125i.x; -// 9 -backupReg0i = R126i.w; -backupReg0i = R126i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -PS1i = R126i.w; -// 10 -backupReg0i = R127i.y; -backupReg0i = R127i.y; -backupReg1i = R125i.w; -backupReg1i = R125i.w; -R126i.x = floatBitsToInt(fract(intBitsToFloat(R1i.y))); -R127i.y = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(R1i.x))); -R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg1i)),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.x))); -R8i.w = 0x40400000; -PS0i = R8i.w; -// 11 -backupReg0i = R126i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R3i.z = floatBitsToInt(roundEven(1.0)); -PS1i = R3i.z; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R125i.w)))); -PS0i = R122i.x; -// 13 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R5i.y)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R5i.w)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R5i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R5i.z)); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PS0i))); -// 14 -R124i.x = floatBitsToInt(-(intBitsToFloat(R126i.y)) + intBitsToFloat(PS1i)); -PV0i.x = R124i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 4.0); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 4.0); -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.y), -(intBitsToFloat(PV1i.y)))); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 4.0); -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.x))); -PS1i = R122i.x; -// 16 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(R124i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R124i.x)) + intBitsToFloat(R2i.y))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.w))); -R2i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(PS1i)); -PS0i = R2i.x; -// 17 -R124i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(PV0i.z)); -PV1i.y = R2i.y; -R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PV0i.y)); -PV1i.z = R5i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -R9i.w = floatBitsToInt((-(intBitsToFloat(R6i.w)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); -PS1i = R9i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R127i.z)); -PS0i = clampFI32(PS0i); -// 19 -R5i.x = uf_remappedPS[4].y; -PV1i.y = floatBitsToInt(intBitsToFloat(R124i.x) + intBitsToFloat(R126i.x)); -PV1i.y = clampFI32(PV1i.y); -R10i.z = uf_remappedPS[5].y; -R3i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS0i)); // world reflections became visible in the distant body waters -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R5i.w = floatBitsToInt(tempResultf); -PS1i = R5i.w; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.w = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV1i.y)); -PS0i = R4i.w; -// 21 -R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),0.0))); -PV1i.x = R4i.x; -PV1i.y = R4i.x; -PV1i.z = R4i.x; -PV1i.w = R4i.x; -R4i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -PS1i = R4i.z; - -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.y = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R5i.w))); -PS0i = R126i.x; -// 1 -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R3i.w)) + intBitsToFloat(R0i.x))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R5i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -R3i.w = uf_remappedPS[9].y; -PS1i = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x41c80000)); -PS1i = clampFI32(PS1i); -// 2 -R0i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(uf_remappedPS[10].x)); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R4i.w)) + intBitsToFloat(R0i.y))); -R0i.z = floatBitsToInt(intBitsToFloat(R11i.y) + intBitsToFloat(uf_remappedPS[10].y)); -R0i.w = floatBitsToInt((intBitsToFloat(PS1i) * 0.5 + 0.5)); -R1i.z = floatBitsToInt(intBitsToFloat(R12i.z) + intBitsToFloat(uf_remappedPS[10].z)); -PS0i = R1i.z; -// 3 -redcCUBE(vec4(intBitsToFloat(R4i.z),intBitsToFloat(R4i.z),intBitsToFloat(R4i.x),intBitsToFloat(R4i.y)),vec4(intBitsToFloat(R4i.y),intBitsToFloat(R4i.x),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),cubeMapSTM,cubeMapFaceId); -R125i.x = floatBitsToInt(cubeMapSTM.x); -R125i.y = floatBitsToInt(cubeMapSTM.y); -R125i.z = floatBitsToInt(cubeMapSTM.z); -R125i.w = cubeMapFaceId; -PV1i.x = R125i.x; -PV1i.y = R125i.y; -PV1i.z = R125i.z; -PV1i.w = R125i.w; -R127i.w = floatBitsToInt(-(intBitsToFloat(R6i.w)) + 1.0); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.x = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -PS0i = R124i.x; -// 5 -R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = R4i.x; -PV1i.y = R4i.x; -PV1i.z = R4i.x; -PV1i.w = R4i.x; -R4i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -PS1i = R4i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.y = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R124i.x)) + 1.5)); -PS0i = R122i.x; -// 7 -backupReg0i = R125i.w; -R125i.x = floatBitsToInt((intBitsToFloat(R127i.w) * 0.5 + 0.5)); -R8i.y = PS0i; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R124i.x)) + 1.5)); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(0x437f0000)); -R8i.z = backupReg0i; -PS1i = R8i.z; -// 8 -redcCUBE(vec4(intBitsToFloat(R4i.z),intBitsToFloat(R4i.z),intBitsToFloat(R4i.x),intBitsToFloat(R4i.y)),vec4(intBitsToFloat(R4i.y),intBitsToFloat(R4i.x),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),cubeMapSTM,cubeMapFaceId); // 2nd vec4 distant light reflections -R124i.x = floatBitsToInt(cubeMapSTM.x); -R124i.y = floatBitsToInt(cubeMapSTM.y); -R124i.z = floatBitsToInt(cubeMapSTM.z); -R124i.w = cubeMapFaceId; -PV0i.x = R124i.x; -PV0i.y = R124i.y; -PV0i.z = R124i.z; -PV0i.w = R124i.w; -R8i.x = PV1i.z; -PS0i = R8i.x; -// 9 -R6i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R6i.x = clampFI32(R6i.x); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R125i.x))); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -R9i.z = PV0i.w; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.w)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); // great line to controld distance light/sun reflections on surface of water -// 10 -R7i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R7i.x = clampFI32(R7i.x); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PS1i)) + 1.5)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(0x3c23d70a)); -PV0i.z = clampFI32(PV0i.z); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PS1i)) + 1.5)); -PV0i.w = R123i.w; -R6i.z = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R6i.z = clampFI32(R6i.z); -PS0i = R6i.z; -// 11 -R9i.x = PV0i.w; -R9i.y = PV0i.y; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(R11i.z))); -R7i.y = int(intBitsToFloat(R125i.w)); -PS1i = R7i.y; - -R2i.xzw = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R3i.xy)).xzw); // light reflections on water R3i frame -R8i.xyz = floatBitsToInt(textureLod(textureUnitPS8, vec4(redcCUBEReverse(intBitsToFloat(R8i.xy),R8i.z),cubeMapArrayIndex8),intBitsToFloat(R8i.w)).xyz); // level of detail for distant water -R9i.xyz = floatBitsToInt(textureLod(textureUnitPS8, vec4(redcCUBEReverse(intBitsToFloat(R9i.xy),R9i.z),cubeMapArrayIndex8),intBitsToFloat(R9i.w)).xyz); -R4i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z))).xyz); -R3i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R3i.xy)).xyz); //distant water looks like near water at x0 - -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R10i.z),intBitsToFloat(R7i.w),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[10].x)), intBitsToFloat(uf_remappedPS[11].w))); -PS0i = R127i.x; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[10].y)), intBitsToFloat(uf_remappedPS[11].w))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R2i.w))); -PV1i.z = R125i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].w), intBitsToFloat(uf_remappedPS[11].w))); -R125i.x = R7i.y & int(1); -PS1i = R125i.x; -// 2 -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),-(intBitsToFloat(PV1i.y))) + intBitsToFloat(R10i.x))); -PV0i.x = R124i.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(PV1i.y))) + intBitsToFloat(R10i.y))); -PV0i.y = R124i.y; -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),-(intBitsToFloat(PV1i.y))) + intBitsToFloat(R11i.z))); -PV0i.z = R124i.z; -R124i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[10].z)), intBitsToFloat(uf_remappedPS[11].w))); -R10i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(0x3f4ccccd)); -R10i.x = clampFI32(R10i.x); -PS0i = R10i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); // reflections -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(R125i.z))); -PS1i = R126i.y; -// 4 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.z),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.z),intBitsToFloat(R1i.z),0.0))); // reflections -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R124i.z; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS0i))); -PV1i.x = R5i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.z = R124i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R125i.z) + 0.25); -R127i.w = clampFI32(R127i.w); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R125i.z = floatBitsToInt(tempResultf); -PS1i = R125i.z; -// 6 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -// 7 -backupReg0i = R0i.z; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R125i.z))); -R124i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PS0i)), intBitsToFloat(uf_remappedPS[11].w))); -PV1i.z = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R125i.z))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R125i.w))); -PS1i = R0i.x; -// 8 -R124i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.w)), intBitsToFloat(uf_remappedPS[11].w))); // affects water reflections -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.x)), intBitsToFloat(uf_remappedPS[11].w))); // affects water reflections -PV0i.z = R125i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R2i.z))); -R127i.z = floatBitsToInt(float(R125i.x)); -PS0i = R127i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.x),intBitsToFloat(R124i.w),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.w = tempi.x; -R125i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = R125i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.y),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),0.0))); // reflection glare on water surface -tempi.x = clampFI32(tempi.x); // will do the same as above line -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R125i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(R125i.x)) + intBitsToFloat(R125i.x))); -PV1i.y = R125i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R124i.z))); -R124i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PS0i)) + intBitsToFloat(PS0i))); -PV1i.w = R124i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),-(intBitsToFloat(R6i.y))) + intBitsToFloat(R124i.x))); -PS1i = R122i.x; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(PV1i.x)))); -PV0i.w = R125i.w; -PS0i = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PS1i)); -// 13 -backupReg0i = R125i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.x))); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(PV0i.z))); -PV1i.y = R125i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + 1.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.y))); -R124i.z = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R124i.z; -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(R6i.y))) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((-(intBitsToFloat(PV1i.y)) * intBitsToFloat(0x3ca3d70a) + intBitsToFloat(0x3ca3d70a))); -PV0i.z = R123i.z; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R10i.x))); -PV0i.w = R124i.w; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV1i.x))); -PS0i = R125i.z; -// 15 -backupReg0i = R124i.z; -PV1i.x = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(PV0i.z)); -R124i.z = floatBitsToInt((-(intBitsToFloat(PV0i.w)) * intBitsToFloat(0x3ca3d70a) + intBitsToFloat(0x3ca3d70a))); -R125i.w = floatBitsToInt(0.25 * intBitsToFloat(backupReg0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); // largens the area of light glitter from the sun on surface area -// 16 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),-(intBitsToFloat(R125i.y))) + intBitsToFloat(R127i.w))); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R124i.w))) + intBitsToFloat(R8i.y))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R124i.w))) + intBitsToFloat(R8i.x))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); // largens the area of light glitter from the sun on surface area -// 17 -backupReg0i = R126i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),-(intBitsToFloat(R124i.w))) + intBitsToFloat(R8i.z))); -PV1i.x = R123i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R125i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R0i.x))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.z))); -PS1i = R122i.x; -// 18 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); // ufremapped makes water more solid pool color -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(R127i.x)) + intBitsToFloat(R125i.y))); // ufremapped makes water more solid pool color -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(R124i.z)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R6i.x))); -PS0i = R125i.y; -// 19 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.y))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R7i.x))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R6i.z))); -PS1i = R125i.w; -// 20 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].x), intBitsToFloat(R126i.y))); -R4i.y = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].z), intBitsToFloat(R126i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y), intBitsToFloat(R126i.y))); -R8i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PS0i = R8i.y; -// 21 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(R124i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.x))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.y))); -R3i.w = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R126i.w))); -PS1i = R6i.w; -// 22 -PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R3i.w)); // blue color body water -PV0i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(R8i.y)); // green color body water -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(R4i.y)); // red color body water -// 23 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R3i.x) * waterfogred )); // R3i is water fog color red -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(R3i.y) * waterfoggreen )); // R3i is water fog green -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R3i.z) * waterfogblue )); // R3i is water fog blue -// export -passPixelColor0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); // xyz is RGB for water color, and w is edge see through clarity -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader 2e2543216c04766d -- Water RGB and edge clarity and Distant Water Fog +#define waterfogred $waterfogred +#define waterfoggreen $waterfoggreen +#define waterfogblue $waterfogblue + +uniform ivec4 uf_remappedPS[14]; +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 1 + +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem4; +layout(location = 2) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; + +void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) +{ +// stm -> x .. s, y .. t, z .. MajorAxis*2.0 +vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); +float rx = inputCoord.x; +float ry = inputCoord.y; +float rz = inputCoord.z; +if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) +{ +stm.z = rx*2.0; +stm.xy = vec2(ry,rz); +if( rx >= 0.0 ) +{ +faceId = 0; +} +else +{ +faceId = 1; +} +} +else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) +{ +stm.z = ry*2.0; +stm.xy = vec2(rx,rz); +if( ry >= 0.0 ) +{ +faceId = 2; +} +else +{ +faceId = 3; +} +} +else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) +{ +stm.z = rz*2.0; +stm.xy = vec2(rx,ry); +if( rz >= 0.0 ) +{ +faceId = 4; +} +else +{ +faceId = 5; +} +} +} +vec3 redcCUBEReverse(vec2 st, int faceId) +{ +st.yx = st.xy; +vec3 v; +float majorAxis = 1.0; +if( faceId == 0 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = 1.0; +} +else if( faceId == 1 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = -1.0; +} +else if( faceId == 2 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = 1.0; +} +else if( faceId == 3 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = -1.0; +} +else if( faceId == 4 ) +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = 1.0; +} +else +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = -1.0; +} +return v; +} +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } + +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R7i = ivec4(0); +ivec4 R8i = ivec4(0); +ivec4 R9i = ivec4(0); +ivec4 R10i = ivec4(0); +ivec4 R11i = ivec4(0); +ivec4 R12i = ivec4(0); +ivec4 R122i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +float cubeMapArrayIndex8 = 0.0; + +R0i = floatBitsToInt(passParameterSem0); // messing with this turns all body of water milky +R1i = floatBitsToInt(passParameterSem4); // does something to close water +R2i = floatBitsToInt(passParameterSem6); // afects near water bodies, reflections frame? + +R3i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).x); +R6i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); // water body world reflection frame R2izw +R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS6, intBitsToFloat(R0i.xy)).xyzw); +R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS7, intBitsToFloat(R0i.xy)).xyzw); +R7i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zw)).xyzw); // affects edge of bodies of water + +// 0 +R126i.x = floatBitsToInt((intBitsToFloat(R6i.x) * 2.0 + -(1.0))); // light reflections on water 2.0 defualt +R127i.y = floatBitsToInt((intBitsToFloat(R6i.y) * 2.0 + -(1.0))); // light reflections on water +R127i.z = floatBitsToInt((intBitsToFloat(R6i.z) * 2.0 + -(1.0))); // light reflections on water +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); // shiny ripples on water +PV0i.w = R123i.w; +R126i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.x)); +PS0i = R126i.z; +// 1 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.w)))); // R0i how much light reflection light reflections +PV1i.x = R2i.x; +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.w)))); // R0i how much light reflection light reflections +PV1i.y = R2i.y; +R124i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); // light reflection rays going off from a center point +PV1i.z = R124i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[2].y))); // enlargens light ripples reflection on waves x200 to visually see +R125i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.y)); +PS1i = R125i.x; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0)));// turns water more solid color +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R2i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); +PS0i = R2i.z; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); // (R126i.x) controls the amount of shiny waves +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.x = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +PS1i = R127i.x; +// 4 +R124i.x = floatBitsToInt(intBitsToFloat(R2i.x) + -(intBitsToFloat(uf_remappedPS[3].x))); +R126i.y = floatBitsToInt(intBitsToFloat(R2i.y) + -(intBitsToFloat(uf_remappedPS[3].y))); +R125i.z = floatBitsToInt(intBitsToFloat(R124i.z) + -(intBitsToFloat(uf_remappedPS[3].z))); +R125i.w = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(0x43480000)); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 5 +R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); +R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +R127i.w = R2i.z; +R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); +// 6 +R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); +PV0i.x = R11i.x; +R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS1i))); +PV0i.y = R11i.y; +R12i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS1i))); +PV0i.z = R12i.z; +R126i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.z)); +R127i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.w)); +PS0i = R127i.y; +// 7 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); +tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(R127i.w))); +PS1i = R125i.y; +// 8 +backupReg0i = R126i.z; +backupReg0i = R126i.z; +backupReg1i = R125i.x; +backupReg1i = R125i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R11i.x))); +R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.y)) + intBitsToFloat(R11i.y))); +R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R12i.z))); +R127i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); +R125i.x = floatBitsToInt(max(intBitsToFloat(backupReg1i), -(intBitsToFloat(backupReg1i)))); +PS0i = R125i.x; +// 9 +backupReg0i = R126i.w; +backupReg0i = R126i.w; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); +PS1i = R126i.w; +// 10 +backupReg0i = R127i.y; +backupReg0i = R127i.y; +backupReg1i = R125i.w; +backupReg1i = R125i.w; +R126i.x = floatBitsToInt(fract(intBitsToFloat(R1i.y))); +R127i.y = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); +R127i.z = floatBitsToInt(fract(intBitsToFloat(R1i.x))); +R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg1i)),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.x))); +R8i.w = 0x40400000; +PS0i = R8i.w; +// 11 +backupReg0i = R126i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R125i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.y = tempi.x; +R3i.z = floatBitsToInt(roundEven(1.0)); +PS1i = R3i.z; +// 12 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R125i.w)))); +PS0i = R122i.x; +// 13 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R5i.y)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R5i.w)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R5i.x)); +PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R5i.z)); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PS0i))); +// 14 +R124i.x = floatBitsToInt(-(intBitsToFloat(R126i.y)) + intBitsToFloat(PS1i)); +PV0i.x = R124i.x; +PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 4.0); +PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); +PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 4.0); +PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.y), -(intBitsToFloat(PV1i.y)))); +PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 4.0); +// 15 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.y))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w))); +PV1i.w = R123i.w; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.x))); +PS1i = R122i.x; +// 16 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(R124i.z))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R124i.x)) + intBitsToFloat(R2i.y))); +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.w))); +R2i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(PS1i)); +PS0i = R2i.x; +// 17 +R124i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(PV0i.w))); +R2i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(PV0i.z)); +PV1i.y = R2i.y; +R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PV0i.y)); +PV1i.z = R5i.z; +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); +R9i.w = floatBitsToInt((-(intBitsToFloat(R6i.w)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); +PS1i = R9i.w; +// 18 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R127i.z)); +PS0i = clampFI32(PS0i); +// 19 +R5i.x = uf_remappedPS[4].y; +PV1i.y = floatBitsToInt(intBitsToFloat(R124i.x) + intBitsToFloat(R126i.x)); +PV1i.y = clampFI32(PV1i.y); +R10i.z = uf_remappedPS[5].y; +R3i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS0i)); // world reflections became visible in the distant body waters +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +R5i.w = floatBitsToInt(tempResultf); +PS1i = R5i.w; +// 20 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R4i.w = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV1i.y)); +PS0i = R4i.w; +// 21 +R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),0.0))); +PV1i.x = R4i.x; +PV1i.y = R4i.x; +PV1i.z = R4i.x; +PV1i.w = R4i.x; +R4i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +PS1i = R4i.z; + +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R4i.y = tempi.x; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R5i.w))); +PS0i = R126i.x; +// 1 +R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R3i.w)) + intBitsToFloat(R0i.x))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R5i.w))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); +R3i.w = uf_remappedPS[9].y; +PS1i = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x41c80000)); +PS1i = clampFI32(PS1i); +// 2 +R0i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(uf_remappedPS[10].x)); +R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R4i.w)) + intBitsToFloat(R0i.y))); +R0i.z = floatBitsToInt(intBitsToFloat(R11i.y) + intBitsToFloat(uf_remappedPS[10].y)); +R0i.w = floatBitsToInt((intBitsToFloat(PS1i) * 0.5 + 0.5)); +R1i.z = floatBitsToInt(intBitsToFloat(R12i.z) + intBitsToFloat(uf_remappedPS[10].z)); +PS0i = R1i.z; +// 3 +redcCUBE(vec4(intBitsToFloat(R4i.z),intBitsToFloat(R4i.z),intBitsToFloat(R4i.x),intBitsToFloat(R4i.y)),vec4(intBitsToFloat(R4i.y),intBitsToFloat(R4i.x),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),cubeMapSTM,cubeMapFaceId); +R125i.x = floatBitsToInt(cubeMapSTM.x); +R125i.y = floatBitsToInt(cubeMapSTM.y); +R125i.z = floatBitsToInt(cubeMapSTM.z); +R125i.w = cubeMapFaceId; +PV1i.x = R125i.x; +PV1i.y = R125i.y; +PV1i.z = R125i.z; +PV1i.w = R125i.w; +R127i.w = floatBitsToInt(-(intBitsToFloat(R6i.w)) + 1.0); +PS1i = R127i.w; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R124i.x = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +PS0i = R124i.x; +// 5 +R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); +PV1i.x = R4i.x; +PV1i.y = R4i.x; +PV1i.z = R4i.x; +PV1i.w = R4i.x; +R4i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +PS1i = R4i.z; +// 6 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R4i.y = tempi.x; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R124i.x)) + 1.5)); +PS0i = R122i.x; +// 7 +backupReg0i = R125i.w; +R125i.x = floatBitsToInt((intBitsToFloat(R127i.w) * 0.5 + 0.5)); +R8i.y = PS0i; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R124i.x)) + 1.5)); +PV1i.z = R123i.z; +R125i.w = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(0x437f0000)); +R8i.z = backupReg0i; +PS1i = R8i.z; +// 8 +redcCUBE(vec4(intBitsToFloat(R4i.z),intBitsToFloat(R4i.z),intBitsToFloat(R4i.x),intBitsToFloat(R4i.y)),vec4(intBitsToFloat(R4i.y),intBitsToFloat(R4i.x),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),cubeMapSTM,cubeMapFaceId); // 2nd vec4 distant light reflections +R124i.x = floatBitsToInt(cubeMapSTM.x); +R124i.y = floatBitsToInt(cubeMapSTM.y); +R124i.z = floatBitsToInt(cubeMapSTM.z); +R124i.w = cubeMapFaceId; +PV0i.x = R124i.x; +PV0i.y = R124i.y; +PV0i.z = R124i.z; +PV0i.w = R124i.w; +R8i.x = PV1i.z; +PS0i = R8i.x; +// 9 +R6i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R6i.x = clampFI32(R6i.x); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R125i.x))); +R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); +R9i.z = PV0i.w; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.w)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); // great line to controld distance light/sun reflections on surface of water +// 10 +R7i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R7i.x = clampFI32(R7i.x); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PS1i)) + 1.5)); +PV0i.y = R123i.y; +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(0x3c23d70a)); +PV0i.z = clampFI32(PV0i.z); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PS1i)) + 1.5)); +PV0i.w = R123i.w; +R6i.z = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R6i.z = clampFI32(R6i.z); +PS0i = R6i.z; +// 11 +R9i.x = PV0i.w; +R9i.y = PV0i.y; +R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); +R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(R11i.z))); +R7i.y = int(intBitsToFloat(R125i.w)); +PS1i = R7i.y; + +R2i.xzw = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R3i.xy)).xzw); // light reflections on water R3i frame +R8i.xyz = floatBitsToInt(textureLod(textureUnitPS8, vec4(redcCUBEReverse(intBitsToFloat(R8i.xy),R8i.z),cubeMapArrayIndex8),intBitsToFloat(R8i.w)).xyz); // level of detail for distant water +R9i.xyz = floatBitsToInt(textureLod(textureUnitPS8, vec4(redcCUBEReverse(intBitsToFloat(R9i.xy),R9i.z),cubeMapArrayIndex8),intBitsToFloat(R9i.w)).xyz); +R4i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z))).xyz); +R3i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R3i.xy)).xyz); //distant water looks like near water at x0 + +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R10i.z),intBitsToFloat(R7i.w),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),1.0,0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[10].x)), intBitsToFloat(uf_remappedPS[11].w))); +PS0i = R127i.x; +// 1 +R126i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[10].y)), intBitsToFloat(uf_remappedPS[11].w))); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R2i.w))); +PV1i.z = R125i.z; +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[11].w), intBitsToFloat(uf_remappedPS[11].w))); +R125i.x = R7i.y & int(1); +PS1i = R125i.x; +// 2 +R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),-(intBitsToFloat(PV1i.y))) + intBitsToFloat(R10i.x))); +PV0i.x = R124i.x; +R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(PV1i.y))) + intBitsToFloat(R10i.y))); +PV0i.y = R124i.y; +R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),-(intBitsToFloat(PV1i.y))) + intBitsToFloat(R11i.z))); +PV0i.z = R124i.z; +R124i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[10].z)), intBitsToFloat(uf_remappedPS[11].w))); +R10i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(0x3f4ccccd)); +R10i.x = clampFI32(R10i.x); +PS0i = R10i.x; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); // reflections +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(R125i.z))); +PS1i = R126i.y; +// 4 +backupReg0i = R0i.x; +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.z),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.z),intBitsToFloat(R1i.z),0.0))); // reflections +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 5 +backupReg0i = R124i.z; +R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS0i))); +PV1i.x = R5i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS0i))); +PV1i.y = R127i.y; +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); +PV1i.z = R124i.z; +R127i.w = floatBitsToInt(intBitsToFloat(R125i.z) + 0.25); +R127i.w = clampFI32(R127i.w); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +R125i.z = floatBitsToInt(tempResultf); +PS1i = R125i.z; +// 6 +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); +// 7 +backupReg0i = R0i.z; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R125i.z))); +R124i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PS0i)), intBitsToFloat(uf_remappedPS[11].w))); +PV1i.z = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R125i.z))); +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R125i.w))); +PS1i = R0i.x; +// 8 +R124i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); +PV0i.x = R124i.x; +R125i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.w)), intBitsToFloat(uf_remappedPS[11].w))); // affects water reflections +PV0i.y = R125i.y; +R125i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.x)), intBitsToFloat(uf_remappedPS[11].w))); // affects water reflections +PV0i.z = R125i.z; +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R2i.z))); +R127i.z = floatBitsToInt(float(R125i.x)); +PS0i = R127i.z; +// 9 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.x),intBitsToFloat(R124i.w),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); +tempi.x = clampFI32(tempi.x); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R125i.w = tempi.x; +R125i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +PS1i = R125i.x; +// 10 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.y),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),0.0))); // reflection glare on water surface +tempi.x = clampFI32(tempi.x); // will do the same as above line +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +// 11 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +R125i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(R125i.x)) + intBitsToFloat(R125i.x))); +PV1i.y = R125i.y; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R124i.z))); +R124i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PS0i)) + intBitsToFloat(PS0i))); +PV1i.w = R124i.w; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),-(intBitsToFloat(R6i.y))) + intBitsToFloat(R124i.x))); +PS1i = R122i.x; +// 12 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.z))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); +PV0i.z = R123i.z; +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(PV1i.x)))); +PV0i.w = R125i.w; +PS0i = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PS1i)); +// 13 +backupReg0i = R125i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.x))); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(PV0i.z))); +PV1i.y = R125i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + 1.0); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.y))); +R124i.z = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); +PS1i = R124i.z; +// 14 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(R6i.y))) + intBitsToFloat(PV1i.x))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((-(intBitsToFloat(PV1i.y)) * intBitsToFloat(0x3ca3d70a) + intBitsToFloat(0x3ca3d70a))); +PV0i.z = R123i.z; +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R10i.x))); +PV0i.w = R124i.w; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV1i.x))); +PS0i = R125i.z; +// 15 +backupReg0i = R124i.z; +PV1i.x = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); +R126i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(PV0i.z)); +R124i.z = floatBitsToInt((-(intBitsToFloat(PV0i.w)) * intBitsToFloat(0x3ca3d70a) + intBitsToFloat(0x3ca3d70a))); +R125i.w = floatBitsToInt(0.25 * intBitsToFloat(backupReg0i)); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); // largens the area of light glitter from the sun on surface area +// 16 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),-(intBitsToFloat(R125i.y))) + intBitsToFloat(R127i.w))); +PV0i.x = R127i.x; +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R124i.w))) + intBitsToFloat(R8i.y))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R124i.w))) + intBitsToFloat(R8i.x))); +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); // largens the area of light glitter from the sun on surface area +// 17 +backupReg0i = R126i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),-(intBitsToFloat(R124i.w))) + intBitsToFloat(R8i.z))); +PV1i.x = R123i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R125i.w))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PV0i.w))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R0i.x))); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.z))); +PS1i = R122i.x; +// 18 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.z))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); // ufremapped makes water more solid pool color +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(R127i.x)) + intBitsToFloat(R125i.y))); // ufremapped makes water more solid pool color +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(R124i.z)); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R6i.x))); +PS0i = R125i.y; +// 19 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.y))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R7i.x))); +R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R6i.z))); +PS1i = R125i.w; +// 20 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].x), intBitsToFloat(R126i.y))); +R4i.y = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].z), intBitsToFloat(R126i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y), intBitsToFloat(R126i.y))); +R8i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PS0i = R8i.y; +// 21 +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(R124i.w))); +R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.x))); +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.y))); +R3i.w = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R126i.w))); +PS1i = R6i.w; +// 22 +PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R3i.w)); // blue color body water +PV0i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(R8i.y)); // green color body water +PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(R4i.y)); // red color body water +// 23 +R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R3i.x) * waterfogred )); // R3i is water fog color red +R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(R3i.y) * waterfoggreen )); // R3i is water fog green +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R3i.z) * waterfogblue )); // R3i is water fog blue +// export +passPixelColor0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); // xyz is RGB for water color, and w is edge see through clarity +} diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt similarity index 98% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt index 6f771432..288546ed 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/bec68ec6f40a864f_00fffff249259249_ps.txt @@ -1,968 +1,968 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader bec68ec6f40a864f -- Affects distant area fog rgb, distance lighting, ground lighting -#define dli $distantlighting -#define dred $dred -#define dgreen $dgreen -#define dblue $dblue - -uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3ccc6800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 17) uniform sampler2D textureUnitPS17;// Tex17 addr 0x3cd0f000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 2) in vec4 passParameterSem6; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 3) out vec4 passPixelColor3; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R17i = ivec4(0); -ivec4 R18i = ivec4(0); -ivec4 R19i = ivec4(0); -ivec4 R20i = ivec4(0); -ivec4 R21i = ivec4(0); -ivec4 R22i = ivec4(0); -ivec4 R23i = ivec4(0); -ivec4 R24i = ivec4(0); -ivec4 R25i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex7 = 0.0; - -R0i = floatBitsToInt(passParameterSem0); // affects lighting -R1i = floatBitsToInt(passParameterSem2); // affects shadows, though strange -R2i = floatBitsToInt(passParameterSem6); // affects shadow blur - -R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); -R12i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); -R5i.xzw = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xzw); -R11i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); -R9i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); -R22i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R12i.x) * 2.0 + -(1.0))); -R127i.y = floatBitsToInt((intBitsToFloat(R12i.y) * 2.0 + -(1.0))); -R127i.z = floatBitsToInt((intBitsToFloat(R12i.z) * 2.0 + -(1.0))); -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.w = R6i.w; -R14i.w = 0x40400000; -PS0i = R14i.w; -// 1 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.w)))); -PV1i.x = R124i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.w)))); -R125i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); -PV1i.z = R125i.z; -R3i.w = 0; -R8i.w = 0x3f800000; -PS1i = R8i.w; -// 2 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[2].x))); -R0i.y = floatBitsToInt((-(intBitsToFloat(R12i.w)) * 0.5 + 1.0)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[3].x))); -R16i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) * intBitsToFloat(0x3ba3d70a)); -R15i.y = 0; -PS0i = R15i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(PV0i.z))); -PS1i = R122i.x; -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.w)),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(uf_remappedPS[4].x))); -R126i.z = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(0x437f0000)); -R17i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x40400000)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.x = R8i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = R5i.y; -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(R126i.x))); -PV1i.w = R123i.w; -R18i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV0i.x)); -PS1i = R18i.z; -// 6 -R6i.x = PS1i; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.w)),intBitsToFloat(uf_remappedPS[2].z)) + intBitsToFloat(PV1i.w))); -PV0i.y = R123i.y; -R0i.z = PV1i.x; -R0i.z = floatBitsToInt(intBitsToFloat(R0i.z) * 2.0); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(R126i.y))); -PV0i.w = R123i.w; -R2i.z = PV1i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R2i.z) * 2.0); -PS0i = R2i.z; -// 7 -backupReg0i = R126i.z; -R4i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(PV0i.y)); -PV1i.x = R4i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.w)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV0i.w))); -R3i.z = R8i.z; -R3i.z = floatBitsToInt(intBitsToFloat(R3i.z) * 2.0); -R0i.w = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(0xc0600000))); -R0i.w = clampFI32(R0i.w); -R126i.z = int(intBitsToFloat(backupReg0i)); -PS1i = R126i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = tempi.x; -R15i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); -PS0i = R15i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * 0.5 + 0.5)); -PS1i = R122i.x; -// 10 -backupReg0i = R126i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(uf_remappedPS[7].x)) + -(intBitsToFloat(uf_remappedPS[7].y)))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -R126i.y = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(0x40200000)); -R7i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(backupReg0i)); -R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x))); -R127i.y = R126i.z & int(1); -PS0i = R127i.y; -// 11 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R2i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = R2i.y; -// 12 -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(uf_remappedPS[9].z)) + -(intBitsToFloat(uf_remappedPS[9].x)))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(uf_remappedPS[9].z)) + -(intBitsToFloat(uf_remappedPS[9].y)))); -R15i.z = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3a83126f)); -R15i.w = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(0x3daaaaab)); -tempResultf = log2(intBitsToFloat(PS1i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.x = floatBitsToInt(tempResultf); -PS0i = R0i.x; -// 13 -redcCUBE(vec4(intBitsToFloat(R125i.w),intBitsToFloat(R125i.w),intBitsToFloat(R125i.x),intBitsToFloat(R125i.y)),vec4(intBitsToFloat(R125i.y),intBitsToFloat(R125i.x),intBitsToFloat(R125i.w),intBitsToFloat(R125i.w)),cubeMapSTM,cubeMapFaceId); -R126i.x = floatBitsToInt(cubeMapSTM.x); -R126i.y = floatBitsToInt(cubeMapSTM.y); -R126i.z = floatBitsToInt(cubeMapSTM.z); -R126i.w = cubeMapFaceId; -PV1i.x = R126i.x; -PV1i.y = R126i.y; -PV1i.z = R126i.z; -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].y), intBitsToFloat(PS0i))); -PS1i = R127i.w; -// 14 -backupReg0i = R127i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R6i.x)) + intBitsToFloat(uf_remappedPS[9].w)); -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[10].w)) + 1.0); -R14i.z = PV1i.w; -R2i.w = ((backupReg0i == 0)?(0):(0x3f800000)); -PV0i.w = R2i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(R125i.y) * 2.0 + -(1.0))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f4ccccd)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.w))); -// 16 -R14i.x = PV1i.w; -R14i.y = PV1i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R127i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[10].w))/2.0); -PV0i.w = R123i.w; -R19i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PS0i = R19i.y; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R18i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + 0.5); -PS1i = R18i.y; -// 18 -R2i.x = uf_remappedPS[11].y; -R3i.y = uf_remappedPS[12].y; -R16i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(0x3fa66666)); -R127i.w = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(0x437f0000)); -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 19 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(uf_remappedPS[13].x)) + -(intBitsToFloat(uf_remappedPS[13].y)))); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R6i.y = 0; -R4i.z = uf_remappedPS[14].y; -R7i.w = 0; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 20 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS1i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); -R4i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R9i.w = int(intBitsToFloat(R127i.w)); -PS0i = R9i.w; -// 0 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x), intBitsToFloat(uf_remappedPS[16].w))); -PV0i.x = R126i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y), intBitsToFloat(uf_remappedPS[16].w))); -PV0i.y = R125i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.y)),intBitsToFloat(R4i.y)) + 1.0)); -PV0i.z = R123i.z; -R124i.w = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(uf_remappedPS[15].x)); -R127i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(uf_remappedPS[15].y)); -PS0i = R127i.y; -// 1 -R124i.x = PV0i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(uf_remappedPS[15].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z), intBitsToFloat(uf_remappedPS[16].w))); -PV1i.z = R127i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); -PV1i.w = R123i.w; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -R124i.y = floatBitsToInt(tempResultf); -PS1i = R124i.y; -// 2 -R19i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(uf_remappedPS[17].y)); -PV0i.y = PV1i.z; -R126i.z = R9i.w & 0x000000fc; -R10i.w = R1i.x; -R10i.w = floatBitsToInt(intBitsToFloat(R10i.w) / 2.0); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.w)); -PS0i = floatBitsToInt(tempResultf); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R6i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R3i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R124i.y))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -PS0i = R125i.z; -// 5 -backupReg0i = R0i.z; -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R10i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(backupReg0i)) + intBitsToFloat(R3i.x))); -PS1i = R10i.x; -// 6 -R7i.x = floatBitsToInt(min(intBitsToFloat(R5i.x), intBitsToFloat(R5i.w))); -PV0i.x = R7i.x; -R10i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R2i.z)) + intBitsToFloat(R4i.y))); -R13i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R3i.z)) + intBitsToFloat(R6i.z))); -PV0i.w = floatBitsToInt(max(-(intBitsToFloat(R127i.w)), 0.0)); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(0x3c23d70a))); -R127i.w = clampFI32(R127i.w); -PS0i = R127i.w; -// 7 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -R0i.y = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R125i.z))); -R2i.w = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(PV0i.x))); -tempResultf = log2(intBitsToFloat(R4i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -backupReg0i = R0i.x; -backupReg1i = R126i.z; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].x), intBitsToFloat(backupReg0i))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R2i.y)) + intBitsToFloat(R125i.z))); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x), intBitsToFloat(PS1i))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(float(backupReg1i)); -// 9 -PV1i.x = floatBitsToInt(max(-(intBitsToFloat(PV0i.y)), intBitsToFloat(0xbf7d70a4))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) / 2.0); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R124i.x)) + 1.0); -R19i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3b820821)); -R127i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R126i.w; -// 10 -backupReg0i = R126i.z; -R127i.x = R12i.w; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); -R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -R126i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -PV0i.z = R126i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(uf_remappedPS[20].w))); -R125i.w = clampFI32(R125i.w); -R5i.w = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R5i.w; -// 11 -R20i.x = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(0x3c23d70a) + -(0.5))); -R20i.x = clampFI32(R20i.x); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); -PV1i.z = R123i.z; -R3i.w = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x40200001)); -R3i.w = clampFI32(R3i.w); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].z),-(intBitsToFloat(R126i.w))) + intBitsToFloat(uf_remappedPS[10].z))); -PS1i = R125i.z; -// 12 -R21i.x = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R9i.y) + 1.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(0xbe593484))); -PV0i.y = R123i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(uf_remappedPS[21].w))); -R4i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].x) + -(1.0)); -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.y))); -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f22f983)); -R2i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].y) + -(1.0)); -R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].z) + -(1.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(0x3fc90da4))); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R125i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R5i.z = floatBitsToInt(tempResultf); -PS1i = R5i.z; -// 14 -R18i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(PV1i.w))) + 1.0)); -R7i.y = floatBitsToInt((-(intBitsToFloat(R19i.z)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); -R0i.z = floatBitsToInt((-(intBitsToFloat(R127i.x)) * intBitsToFloat(0x40400000) + 4.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(R124i.y)) + intBitsToFloat(R124i.y))); -PV0i.w = R123i.w; -R8i.y = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(0x3dcccccd)); -PS0i = R8i.y; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.w),intBitsToFloat(R127i.y),intBitsToFloat(R126i.y),-0.0),vec4(intBitsToFloat(R124i.w),intBitsToFloat(R127i.y),intBitsToFloat(R126i.y),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.w))); -PS1i = R10i.z; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 17 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -R9i.z = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 18 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[16].w))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[16].w))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[16].w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z), intBitsToFloat(PS1i))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R21i.x))); -PS0i = R6i.w; -// 19 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),intBitsToFloat(R8i.z)),vec4(-(intBitsToFloat(R126i.x)),-(intBitsToFloat(R125i.y)),-(intBitsToFloat(R127i.z)),-(intBitsToFloat(R7i.w))))); -PV1i.x = R0i.x; -PV1i.y = R0i.x; -PV1i.z = R0i.x; -PV1i.w = R0i.x; -R4i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -PS1i = R4i.z; -// 20 -backupReg0i = R0i.y; -R5i.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R126i.x)),-(intBitsToFloat(R125i.y)),-(intBitsToFloat(R127i.z)),-0.0),vec4(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R6i.z)),0.0))); -R5i.x = clampFI32(R5i.x); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(backupReg0i)); -R2i.x = clampFI32(R2i.x); -PS0i = R2i.x; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R6i.x),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0); -PS0i = R125i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R6i.x),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)),vec4(intBitsToFloat(uf_remappedPS[23].x),intBitsToFloat(uf_remappedPS[23].y),intBitsToFloat(uf_remappedPS[23].z),intBitsToFloat(uf_remappedPS[23].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R126i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R6i.x),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)),vec4(intBitsToFloat(uf_remappedPS[24].x),intBitsToFloat(uf_remappedPS[24].y),intBitsToFloat(uf_remappedPS[24].z),intBitsToFloat(uf_remappedPS[24].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R16i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R16i.x; -// 3 -backupReg0i = R2i.w; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y), intBitsToFloat(R5i.z))); -R16i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[18].w)),intBitsToFloat(R4i.z)) + 1.0)); -PV1i.z = R123i.z; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.x)) + intBitsToFloat(R7i.x))); -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R3i.z)) + 1.0)); -PS1i = R2i.x; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),intBitsToFloat(R8i.z)),vec4(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.y))))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PS0i = R122i.x; -// 5 -R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(R125i.y)) + intBitsToFloat(R125i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R6i.z = R0i.x; -R6i.z = clampFI32(R6i.z); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[25].w))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R3i.z)) + 1.0)); -PS1i = R8i.z; -// 6 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.y)) + -(intBitsToFloat(PV1i.y)))); -PV0i.x = R127i.x; -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R3i.z)) + 1.0)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.x),intBitsToFloat(R19i.z)) + intBitsToFloat(R7i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R19i.z)) + intBitsToFloat(R7i.y))); -PS0i = R125i.w; -// 7 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),intBitsToFloat(R19i.z)) + intBitsToFloat(R7i.y))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R21i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R0i.z)); -// 8 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt(-(intBitsToFloat(R6i.w)) + 1.0); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R8i.y)),intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.z))); -R123i.w = clampFI32(R123i.w); -PV0i.w = R123i.w; -R127i.x = floatBitsToInt(exp2(intBitsToFloat(R124i.x))); -PS0i = R127i.x; -// 9 -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),-(intBitsToFloat(R127i.z))) + intBitsToFloat(R126i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),-(intBitsToFloat(R127i.z))) + intBitsToFloat(R125i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),-(intBitsToFloat(R127i.z))) + intBitsToFloat(R125i.z))); -PV1i.z = R123i.z; -R124i.w = floatBitsToInt((intBitsToFloat(R3i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV0i.w))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -// 10 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.y)),intBitsToFloat(R125i.y)) + intBitsToFloat(R125i.y))); -R10i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[26].w))); -R0i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -PS0i = R0i.z; -// 11 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),-(intBitsToFloat(R125i.x))) + intBitsToFloat(R125i.z))); -PV1i.x = R123i.x; -R8i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.x)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),-(intBitsToFloat(R125i.x))) + intBitsToFloat(R125i.w))); -PV1i.w = R123i.w; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),-(intBitsToFloat(R125i.x))) + intBitsToFloat(R126i.x))); -PS1i = R127i.z; -// 12 -backupReg0i = R9i.x; -R9i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 0.25); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R124i.w)) + 1.0); -R9i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.x)); -PV0i.w = backupReg0i; -PV0i.w = clampFI32(PV0i.w); -R5i.x = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.w)); -PS0i = R5i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R0i.x = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R0i.x = clampFI32(R0i.x); -R11i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R11i.y = clampFI32(R11i.y); -R11i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R11i.z = clampFI32(R11i.z); -R11i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R127i.z)); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R124i.w))); -PS1i = R11i.x; -// 14 -PV0i.x = R9i.w & int(1); -R24i.y = 0; -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),-(intBitsToFloat(R5i.y))) + intBitsToFloat(R6i.w))); -R25i.w = 0x3f800000; -R4i.w = 0x3f800000; -PS0i = R4i.w; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.w = tempi.x; -R6i.w = floatBitsToInt(float(PV0i.x)); -PS1i = R6i.w; -// 16 -R23i.w = 0x3f800000; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R13i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R13i.z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R13i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg1i = R127i.z; -redcCUBE(vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); -R127i.x = floatBitsToInt(cubeMapSTM.x); -R127i.y = floatBitsToInt(cubeMapSTM.y); -R127i.z = floatBitsToInt(cubeMapSTM.z); -R127i.w = cubeMapFaceId; -PV1i.x = R127i.x; -PV1i.y = R127i.y; -PV1i.z = R127i.z; -PV1i.w = R127i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].w), intBitsToFloat(uf_remappedPS[16].w))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PS1i))); -R17i.z = PV1i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 5 -backupReg0i = R9i.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -// 6 -R17i.x = PV1i.w; -R17i.y = PV1i.z; -R13i.z = floatBitsToInt(textureLod(textureUnitPS12, intBitsToFloat(R13i.xy),0.0).x); -R14i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R14i.xy),R14i.z),cubeMapArrayIndex7),intBitsToFloat(R14i.w)).xyz); -R15i.x = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R15i.xz),0.0).x); -R16i.y = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R16i.xy),intBitsToFloat(R16i.w)).x); -R7i.xyz = floatBitsToInt(texture(textureUnitPS17, intBitsToFloat(R15i.wy)).xyz); -R17i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R17i.xy),R17i.z),cubeMapArrayIndex7),intBitsToFloat(R17i.w)).xyz); -R12i.xyz = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R18i.xy)).xyz); -// export -passPixelColor4 = vec4(intBitsToFloat(R12i.w), intBitsToFloat(R12i.w), intBitsToFloat(R12i.w), intBitsToFloat(R12i.w)); -// 0 -PV0i.x = floatBitsToInt(max(intBitsToFloat(R14i.y), intBitsToFloat(R14i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[9].w)),intBitsToFloat(R13i.z)) + intBitsToFloat(R16i.z))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(min(intBitsToFloat(R14i.y), intBitsToFloat(R14i.z))); -R123i.w = floatBitsToInt((intBitsToFloat(R15i.x) * 2.0 + -(1.0))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R16i.y) + intBitsToFloat(uf_remappedPS[27].z)); -PS0i = clampFI32(PS0i); -// 1 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * 0.25); -R127i.x = clampFI32(R127i.x); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x41c80000) + intBitsToFloat(R18i.z))); -R127i.z = floatBitsToInt(min(intBitsToFloat(R14i.x), intBitsToFloat(PV0i.z))); -R125i.w = floatBitsToInt(max(intBitsToFloat(R14i.x), intBitsToFloat(PV0i.x))); -PV1i.w = R125i.w; -R24i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R2i.w))); -PS1i = R24i.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(0x2edbe6ff)); -R126i.y = floatBitsToInt(intBitsToFloat(R14i.y) + -(intBitsToFloat(PV1i.w))); -R125i.z = floatBitsToInt(intBitsToFloat(R14i.x) + -(intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R124i.w = floatBitsToInt(intBitsToFloat(R14i.z) + -(intBitsToFloat(PV1i.w))); -PS0i = R124i.w; -// 3 -R14i.x = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(uf_remappedPS[28].x)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R24i.x))); -PV1i.y = R125i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.x)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R12i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R17i.x), intBitsToFloat(R9i.z))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R0i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PS1i)) + 1.0)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R127i.y; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R10i.z))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg1i))); -R15i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R8i.y))); -PS0i = R15i.x; -// 5 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R17i.z), intBitsToFloat(R11i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(0x2edbe6ff)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R11i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R17i.y), intBitsToFloat(backupReg0i))); -R17i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R11i.x))); -PS1i = R17i.w; -// 6 -backupReg0i = R11i.x; -backupReg0i = R11i.x; -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(backupReg0i))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R19i.x)) + intBitsToFloat(R127i.y))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -R12i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -PS0i = R127i.w; -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R10i.w)) + intBitsToFloat(R10i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * 0.5 + 0.5)); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0xbdcccccd) + intBitsToFloat(0x3dcccccd))); -PV1i.z = R123i.z; -R24i.w = PV0i.y; -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.y)); -PV0i.x = clampFI32(PV0i.x); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z)); -PV0i.y = clampFI32(PV0i.y); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(R19i.y))) + intBitsToFloat(PV1i.x))); -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(R19i.y) + intBitsToFloat(PV0i.y)); -PV1i.x = clampFI32(PV1i.x); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.x))); -// 10 -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS0i))); -// 12 -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -// 13 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.w))); -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.w))); -PV1i.z = R123i.z; -// 16 -backupReg0i = R126i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.z))); -PV0i.x = R127i.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.y))); -PV0i.z = R125i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.x))); -PV0i.w = R126i.w; -// 17 -PV1i.x = floatBitsToInt(intBitsToFloat(R7i.z) + -(intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.y) + -(intBitsToFloat(PV0i.x))); -// 18 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R20i.x)) + intBitsToFloat(R127i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R20i.x)) + intBitsToFloat(R126i.w))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R20i.x)) + intBitsToFloat(R125i.z))); -PV0i.w = R123i.w; -// 19 -R25i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R2i.x))); -R25i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R8i.z))); -R25i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R2i.y))); -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R14i.x),intBitsToFloat(uf_remappedPS[29].x)) + intBitsToFloat(uf_remappedPS[30].w))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[31].w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(R6i.z)) + intBitsToFloat(R25i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(R6i.z)) + intBitsToFloat(R25i.x))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].x), intBitsToFloat(R0i.z))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].y), intBitsToFloat(R2i.w))); -PS1i = R125i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].z),intBitsToFloat(R6i.z)) + intBitsToFloat(R25i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R19i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R21i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R19i.z)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].z), intBitsToFloat(R15i.x))); -PS0i = R126i.y; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R19i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R3i.y))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.x))); -R124i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R3i.y)) + intBitsToFloat(R3i.y))); -PV1i.w = R124i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R11i.y))); -PS1i = R127i.x; -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].x), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].y), intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R11i.z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].z), intBitsToFloat(PV1i.y))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R9i.x)) + intBitsToFloat(R11i.w))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R9i.x)) + intBitsToFloat(R12i.w))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].x),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.x))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.x)) + intBitsToFloat(R5i.x))); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -R123i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].z),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -// 7 -backupReg0i = R126i.y; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(R2i.z)) + intBitsToFloat(R125i.x))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(R125i.z))); -PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.z)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.x),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.y)); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R22i.y),intBitsToFloat(R6i.w)) + intBitsToFloat(PS1i))); -R23i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].z),intBitsToFloat(R5i.y)) + intBitsToFloat(PV1i.w))); -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R22i.x),intBitsToFloat(R6i.w)) + intBitsToFloat(PV1i.z))); -PS0i = R4i.x; -// 9 -R23i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].x),intBitsToFloat(R5i.y)) + intBitsToFloat(R126i.y))); -R23i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].y),intBitsToFloat(R5i.y)) + intBitsToFloat(R126i.x))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R22i.z),intBitsToFloat(R6i.w)) + intBitsToFloat(PV0i.x))); -PV1i.z = R4i.z; -R24i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.z)),intBitsToFloat(R124i.w)) + intBitsToFloat(R124i.w))); -PS1i = R24i.z; -// 10 -R3i.xyz = ivec3(R4i.x,R4i.y,PV1i.z); -R3i.w = R4i.w; -// 11 -R1i.xyz = ivec3(R23i.x,R23i.y,R23i.z); -R1i.w = R23i.w; -// 12 -R0i.xyz = ivec3(R24i.x,R24i.y,R24i.z); -R0i.w = R24i.w; -// 13 -R2i.xyz = ivec3(R25i.x,R25i.y,R25i.z); -R2i.w = R25i.w; -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z) * dli, intBitsToFloat(R0i.w)); // x affects shadows sharpness, and z affects distant area lighting brightness -passPixelColor1 = vec4(intBitsToFloat(R1i.x) * dred, intBitsToFloat(R1i.y) * dgreen, intBitsToFloat(R1i.z) * dblue, intBitsToFloat(R1i.w)); // x,y,z affects the color red,green,blue of the fog, w does nothing -passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // affects ground color rgb -passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // xyz - RGB for body of waters edge surfaces -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader bec68ec6f40a864f -- Affects distant area fog rgb, distance lighting, ground lighting +#define dli $distantlighting +#define dred $dred +#define dgreen $dgreen +#define dblue $dblue + +uniform ivec4 uf_remappedPS[33]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3ccc6800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 6 6 6 border: 2 +layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 17) uniform sampler2D textureUnitPS17;// Tex17 addr 0x3cd0f000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 2) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 2) out vec4 passPixelColor2; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 4) out vec4 passPixelColor4; +uniform vec2 uf_fragCoordScale; +void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) +{ +// stm -> x .. s, y .. t, z .. MajorAxis*2.0 +vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); +float rx = inputCoord.x; +float ry = inputCoord.y; +float rz = inputCoord.z; +if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) +{ +stm.z = rx*2.0; +stm.xy = vec2(ry,rz); +if( rx >= 0.0 ) +{ +faceId = 0; +} +else +{ +faceId = 1; +} +} +else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) +{ +stm.z = ry*2.0; +stm.xy = vec2(rx,rz); +if( ry >= 0.0 ) +{ +faceId = 2; +} +else +{ +faceId = 3; +} +} +else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) +{ +stm.z = rz*2.0; +stm.xy = vec2(rx,ry); +if( rz >= 0.0 ) +{ +faceId = 4; +} +else +{ +faceId = 5; +} +} +} +vec3 redcCUBEReverse(vec2 st, int faceId) +{ +st.yx = st.xy; +vec3 v; +float majorAxis = 1.0; +if( faceId == 0 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = 1.0; +} +else if( faceId == 1 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = -1.0; +} +else if( faceId == 2 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = 1.0; +} +else if( faceId == 3 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = -1.0; +} +else if( faceId == 4 ) +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = 1.0; +} +else +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = -1.0; +} +return v; +} +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R7i = ivec4(0); +ivec4 R8i = ivec4(0); +ivec4 R9i = ivec4(0); +ivec4 R10i = ivec4(0); +ivec4 R11i = ivec4(0); +ivec4 R12i = ivec4(0); +ivec4 R13i = ivec4(0); +ivec4 R14i = ivec4(0); +ivec4 R15i = ivec4(0); +ivec4 R16i = ivec4(0); +ivec4 R17i = ivec4(0); +ivec4 R18i = ivec4(0); +ivec4 R19i = ivec4(0); +ivec4 R20i = ivec4(0); +ivec4 R21i = ivec4(0); +ivec4 R22i = ivec4(0); +ivec4 R23i = ivec4(0); +ivec4 R24i = ivec4(0); +ivec4 R25i = ivec4(0); +ivec4 R122i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +float cubeMapArrayIndex7 = 0.0; + +R0i = floatBitsToInt(passParameterSem0); // affects lighting +R1i = floatBitsToInt(passParameterSem2); // affects shadows, though strange +R2i = floatBitsToInt(passParameterSem6); // affects shadow blur + +R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); +R12i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); +R5i.xzw = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xzw); +R11i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); +R9i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); +R22i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); +// 0 +R127i.x = floatBitsToInt((intBitsToFloat(R12i.x) * 2.0 + -(1.0))); +R127i.y = floatBitsToInt((intBitsToFloat(R12i.y) * 2.0 + -(1.0))); +R127i.z = floatBitsToInt((intBitsToFloat(R12i.z) * 2.0 + -(1.0))); +R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.w = R6i.w; +R14i.w = 0x40400000; +PS0i = R14i.w; +// 1 +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.w)))); +PV1i.x = R124i.x; +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.w)))); +R125i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); +PV1i.z = R125i.z; +R3i.w = 0; +R8i.w = 0x3f800000; +PS1i = R8i.w; +// 2 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[2].x))); +R0i.y = floatBitsToInt((-(intBitsToFloat(R12i.w)) * 0.5 + 1.0)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[3].x))); +R16i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) * intBitsToFloat(0x3ba3d70a)); +R15i.y = 0; +PS0i = R15i.y; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(PV0i.z))); +PS1i = R122i.x; +// 4 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.w)),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PS1i))); +PV0i.x = R123i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(uf_remappedPS[4].x))); +R126i.z = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(0x437f0000)); +R17i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x40400000)); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 5 +R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +PV1i.x = R8i.x; +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +PV1i.y = R5i.y; +R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(R126i.x))); +PV1i.w = R123i.w; +R18i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV0i.x)); +PS1i = R18i.z; +// 6 +R6i.x = PS1i; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.w)),intBitsToFloat(uf_remappedPS[2].z)) + intBitsToFloat(PV1i.w))); +PV0i.y = R123i.y; +R0i.z = PV1i.x; +R0i.z = floatBitsToInt(intBitsToFloat(R0i.z) * 2.0); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(R126i.y))); +PV0i.w = R123i.w; +R2i.z = PV1i.y; +R2i.z = floatBitsToInt(intBitsToFloat(R2i.z) * 2.0); +PS0i = R2i.z; +// 7 +backupReg0i = R126i.z; +R4i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(PV0i.y)); +PV1i.x = R4i.x; +R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.w)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV0i.w))); +R3i.z = R8i.z; +R3i.z = floatBitsToInt(intBitsToFloat(R3i.z) * 2.0); +R0i.w = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(0xc0600000))); +R0i.w = clampFI32(R0i.w); +R126i.z = int(intBitsToFloat(backupReg0i)); +PS1i = R126i.z; +// 8 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R125i.y = tempi.x; +R15i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); +PS0i = R15i.x; +// 9 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R122i.x = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * 0.5 + 0.5)); +PS1i = R122i.x; +// 10 +backupReg0i = R126i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(uf_remappedPS[7].x)) + -(intBitsToFloat(uf_remappedPS[7].y)))); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +R126i.y = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(0x40200000)); +R7i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(backupReg0i)); +R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x))); +R127i.y = R126i.z & int(1); +PS0i = R127i.y; +// 11 +R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),0.0))); +PV1i.x = R125i.x; +PV1i.y = R125i.x; +PV1i.z = R125i.x; +PV1i.w = R125i.x; +R2i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +PS1i = R2i.y; +// 12 +R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(uf_remappedPS[9].z)) + -(intBitsToFloat(uf_remappedPS[9].x)))); +R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(uf_remappedPS[9].z)) + -(intBitsToFloat(uf_remappedPS[9].y)))); +R15i.z = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3a83126f)); +R15i.w = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(0x3daaaaab)); +tempResultf = log2(intBitsToFloat(PS1i)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R0i.x = floatBitsToInt(tempResultf); +PS0i = R0i.x; +// 13 +redcCUBE(vec4(intBitsToFloat(R125i.w),intBitsToFloat(R125i.w),intBitsToFloat(R125i.x),intBitsToFloat(R125i.y)),vec4(intBitsToFloat(R125i.y),intBitsToFloat(R125i.x),intBitsToFloat(R125i.w),intBitsToFloat(R125i.w)),cubeMapSTM,cubeMapFaceId); +R126i.x = floatBitsToInt(cubeMapSTM.x); +R126i.y = floatBitsToInt(cubeMapSTM.y); +R126i.z = floatBitsToInt(cubeMapSTM.z); +R126i.w = cubeMapFaceId; +PV1i.x = R126i.x; +PV1i.y = R126i.y; +PV1i.z = R126i.z; +PV1i.w = R126i.w; +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].y), intBitsToFloat(PS0i))); +PS1i = R127i.w; +// 14 +backupReg0i = R127i.y; +R127i.x = floatBitsToInt(-(intBitsToFloat(R6i.x)) + intBitsToFloat(uf_remappedPS[9].w)); +R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[10].w)) + 1.0); +R14i.z = PV1i.w; +R2i.w = ((backupReg0i == 0)?(0):(0x3f800000)); +PV0i.w = R2i.w; +PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +// 15 +R123i.x = floatBitsToInt((intBitsToFloat(R125i.y) * 2.0 + -(1.0))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS0i)) + 1.5)); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f4ccccd)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS0i)) + 1.5)); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.w))); +// 16 +R14i.x = PV1i.w; +R14i.y = PV1i.y; +R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R127i.x))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[10].w))/2.0); +PV0i.w = R123i.w; +R19i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); +PS0i = R19i.y; +// 17 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R18i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + 0.5); +PS1i = R18i.y; +// 18 +R2i.x = uf_remappedPS[11].y; +R3i.y = uf_remappedPS[12].y; +R16i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(0x3fa66666)); +R127i.w = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(0x437f0000)); +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 19 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(uf_remappedPS[13].x)) + -(intBitsToFloat(uf_remappedPS[13].y)))); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R6i.y = 0; +R4i.z = uf_remappedPS[14].y; +R7i.w = 0; +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); +// 20 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS1i))); +R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); +R4i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +R9i.w = int(intBitsToFloat(R127i.w)); +PS0i = R9i.w; +// 0 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x), intBitsToFloat(uf_remappedPS[16].w))); +PV0i.x = R126i.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y), intBitsToFloat(uf_remappedPS[16].w))); +PV0i.y = R125i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.y)),intBitsToFloat(R4i.y)) + 1.0)); +PV0i.z = R123i.z; +R124i.w = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(uf_remappedPS[15].x)); +R127i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(uf_remappedPS[15].y)); +PS0i = R127i.y; +// 1 +R124i.x = PV0i.x; +R126i.y = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(uf_remappedPS[15].z)); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z), intBitsToFloat(uf_remappedPS[16].w))); +PV1i.z = R127i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); +PV1i.w = R123i.w; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); +R124i.y = floatBitsToInt(tempResultf); +PS1i = R124i.y; +// 2 +R19i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(uf_remappedPS[17].y)); +PV0i.y = PV1i.z; +R126i.z = R9i.w & 0x000000fc; +R10i.w = R1i.x; +R10i.w = floatBitsToInt(intBitsToFloat(R10i.w) / 2.0); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.w)); +PS0i = floatBitsToInt(tempResultf); +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R6i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R3i.w),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R124i.y))); +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.w = tempi.x; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); +PS0i = R125i.z; +// 5 +backupReg0i = R0i.z; +R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); +PV1i.x = R124i.x; +PV1i.y = R124i.x; +PV1i.z = R124i.x; +PV1i.w = R124i.x; +R10i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(backupReg0i)) + intBitsToFloat(R3i.x))); +PS1i = R10i.x; +// 6 +R7i.x = floatBitsToInt(min(intBitsToFloat(R5i.x), intBitsToFloat(R5i.w))); +PV0i.x = R7i.x; +R10i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R2i.z)) + intBitsToFloat(R4i.y))); +R13i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R3i.z)) + intBitsToFloat(R6i.z))); +PV0i.w = floatBitsToInt(max(-(intBitsToFloat(R127i.w)), 0.0)); +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(0x3c23d70a))); +R127i.w = clampFI32(R127i.w); +PS0i = R127i.w; +// 7 +backupReg0i = R124i.x; +R124i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); +R0i.y = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); +PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R125i.z))); +R2i.w = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(PV0i.x))); +tempResultf = log2(intBitsToFloat(R4i.w)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 8 +backupReg0i = R0i.x; +backupReg1i = R126i.z; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].x), intBitsToFloat(backupReg0i))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R2i.y)) + intBitsToFloat(R125i.z))); +PV0i.y = R123i.y; +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x), intBitsToFloat(PS1i))); +R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); +PS0i = floatBitsToInt(float(backupReg1i)); +// 9 +PV1i.x = floatBitsToInt(max(-(intBitsToFloat(PV0i.y)), intBitsToFloat(0xbf7d70a4))); +PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) / 2.0); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R124i.x)) + 1.0); +R19i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3b820821)); +R127i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); +R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); +PS1i = R126i.w; +// 10 +backupReg0i = R126i.z; +R127i.x = R12i.w; +R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); +R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +R126i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); +PV0i.z = R126i.z; +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(uf_remappedPS[20].w))); +R125i.w = clampFI32(R125i.w); +R5i.w = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); +PS0i = R5i.w; +// 11 +R20i.x = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(0x3c23d70a) + -(0.5))); +R20i.x = clampFI32(R20i.x); +PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); +PV1i.z = R123i.z; +R3i.w = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x40200001)); +R3i.w = clampFI32(R3i.w); +R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].z),-(intBitsToFloat(R126i.w))) + intBitsToFloat(uf_remappedPS[10].z))); +PS1i = R125i.z; +// 12 +R21i.x = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R9i.y) + 1.0)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(0xbe593484))); +PV0i.y = R123i.y; +R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(uf_remappedPS[21].w))); +R4i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].x) + -(1.0)); +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.y))); +// 13 +PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f22f983)); +R2i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].y) + -(1.0)); +R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].z) + -(1.0)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(0x3fc90da4))); +PV1i.w = R123i.w; +tempResultf = log2(intBitsToFloat(R125i.w)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R5i.z = floatBitsToInt(tempResultf); +PS1i = R5i.z; +// 14 +R18i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(PV1i.w))) + 1.0)); +R7i.y = floatBitsToInt((-(intBitsToFloat(R19i.z)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); +R0i.z = floatBitsToInt((-(intBitsToFloat(R127i.x)) * intBitsToFloat(0x40400000) + 4.0)); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(R124i.y)) + intBitsToFloat(R124i.y))); +PV0i.w = R123i.w; +R8i.y = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(0x3dcccccd)); +PS0i = R8i.y; +// 15 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.w),intBitsToFloat(R127i.y),intBitsToFloat(R126i.y),-0.0),vec4(intBitsToFloat(R124i.w),intBitsToFloat(R127i.y),intBitsToFloat(R126i.y),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.w))); +PS1i = R10i.z; +// 16 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),0.0))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 17 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); +R9i.z = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +tempResultf = log2(intBitsToFloat(PV0i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 18 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[16].w))); +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[16].w))); +R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[16].w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z), intBitsToFloat(PS1i))); +R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R21i.x))); +PS0i = R6i.w; +// 19 +R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),intBitsToFloat(R8i.z)),vec4(-(intBitsToFloat(R126i.x)),-(intBitsToFloat(R125i.y)),-(intBitsToFloat(R127i.z)),-(intBitsToFloat(R7i.w))))); +PV1i.x = R0i.x; +PV1i.y = R0i.x; +PV1i.z = R0i.x; +PV1i.w = R0i.x; +R4i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); +PS1i = R4i.z; +// 20 +backupReg0i = R0i.y; +R5i.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R126i.x)),-(intBitsToFloat(R125i.y)),-(intBitsToFloat(R127i.z)),-0.0),vec4(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R6i.z)),0.0))); +R5i.x = clampFI32(R5i.x); +PV0i.x = R5i.x; +PV0i.y = R5i.x; +PV0i.z = R5i.x; +PV0i.w = R5i.x; +R2i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(backupReg0i)); +R2i.x = clampFI32(R2i.x); +PS0i = R2i.x; +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R6i.x),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R125i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0); +PS0i = R125i.y; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R6i.x),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)),vec4(intBitsToFloat(uf_remappedPS[23].x),intBitsToFloat(uf_remappedPS[23].y),intBitsToFloat(uf_remappedPS[23].z),intBitsToFloat(uf_remappedPS[23].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +PS1i = R126i.x; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R6i.x),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)),vec4(intBitsToFloat(uf_remappedPS[24].x),intBitsToFloat(uf_remappedPS[24].y),intBitsToFloat(uf_remappedPS[24].z),intBitsToFloat(uf_remappedPS[24].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R16i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); +PS0i = R16i.x; +// 3 +backupReg0i = R2i.w; +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y), intBitsToFloat(R5i.z))); +R16i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.x))); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[18].w)),intBitsToFloat(R4i.z)) + 1.0)); +PV1i.z = R123i.z; +R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.x)) + intBitsToFloat(R7i.x))); +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R3i.z)) + 1.0)); +PS1i = R2i.x; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),intBitsToFloat(R8i.z)),vec4(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.y))))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); +PS0i = R122i.x; +// 5 +R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(R125i.y)) + intBitsToFloat(R125i.y))); +PV1i.x = R126i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +R6i.z = R0i.x; +R6i.z = clampFI32(R6i.z); +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[25].w))); +R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R3i.z)) + 1.0)); +PS1i = R8i.z; +// 6 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.y)) + -(intBitsToFloat(PV1i.y)))); +PV0i.x = R127i.x; +R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R3i.z)) + 1.0)); +R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.x),intBitsToFloat(R19i.z)) + intBitsToFloat(R7i.y))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); +PV0i.w = R123i.w; +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R19i.z)) + intBitsToFloat(R7i.y))); +PS0i = R125i.w; +// 7 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),intBitsToFloat(R19i.z)) + intBitsToFloat(R7i.y))); +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R21i.x))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.w))); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R0i.z)); +// 8 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PS1i))); +R125i.y = floatBitsToInt(-(intBitsToFloat(R6i.w)) + 1.0); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R8i.y)),intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.z))); +R123i.w = clampFI32(R123i.w); +PV0i.w = R123i.w; +R127i.x = floatBitsToInt(exp2(intBitsToFloat(R124i.x))); +PS0i = R127i.x; +// 9 +R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),-(intBitsToFloat(R127i.z))) + intBitsToFloat(R126i.x))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),-(intBitsToFloat(R127i.z))) + intBitsToFloat(R125i.w))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),-(intBitsToFloat(R127i.z))) + intBitsToFloat(R125i.z))); +PV1i.z = R123i.z; +R124i.w = floatBitsToInt((intBitsToFloat(R3i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV0i.w))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); +// 10 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(PS1i))); +R3i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.y)),intBitsToFloat(R125i.y)) + intBitsToFloat(R125i.y))); +R10i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.z)); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[26].w))); +R0i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); +PS0i = R0i.z; +// 11 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),-(intBitsToFloat(R125i.x))) + intBitsToFloat(R125i.z))); +PV1i.x = R123i.x; +R8i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.x)); +R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(PV0i.w))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),-(intBitsToFloat(R125i.x))) + intBitsToFloat(R125i.w))); +PV1i.w = R123i.w; +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),-(intBitsToFloat(R125i.x))) + intBitsToFloat(R126i.x))); +PS1i = R127i.z; +// 12 +backupReg0i = R9i.x; +R9i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 0.25); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R124i.w)) + 1.0); +R9i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.x)); +PV0i.w = backupReg0i; +PV0i.w = clampFI32(PV0i.w); +R5i.x = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.w)); +PS0i = R5i.x; +// 13 +backupReg0i = R11i.y; +backupReg1i = R11i.z; +R0i.x = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R0i.x = clampFI32(R0i.x); +R11i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R11i.y = clampFI32(R11i.y); +R11i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R11i.z = clampFI32(R11i.z); +R11i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R127i.z)); +R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R124i.w))); +PS1i = R11i.x; +// 14 +PV0i.x = R9i.w & int(1); +R24i.y = 0; +R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),-(intBitsToFloat(R5i.y))) + intBitsToFloat(R6i.w))); +R25i.w = 0x3f800000; +R4i.w = 0x3f800000; +PS0i = R4i.w; +// 15 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R12i.w = tempi.x; +R6i.w = floatBitsToInt(float(PV0i.x)); +PS1i = R6i.w; +// 16 +R23i.w = 0x3f800000; +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R13i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +// 1 +R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R13i.z),0.0))); +PV1i.x = R127i.x; +PV1i.y = R127i.x; +PV1i.z = R127i.x; +PV1i.w = R127i.x; +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +PS1i = R127i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R13i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +// 3 +backupReg0i = R127i.x; +backupReg0i = R127i.x; +backupReg1i = R127i.z; +backupReg1i = R127i.z; +redcCUBE(vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); +R127i.x = floatBitsToInt(cubeMapSTM.x); +R127i.y = floatBitsToInt(cubeMapSTM.y); +R127i.z = floatBitsToInt(cubeMapSTM.z); +R127i.w = cubeMapFaceId; +PV1i.x = R127i.x; +PV1i.y = R127i.y; +PV1i.z = R127i.z; +PV1i.w = R127i.w; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].w), intBitsToFloat(uf_remappedPS[16].w))); +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PS1i))); +R17i.z = PV1i.w; +PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +// 5 +backupReg0i = R9i.x; +R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + 1.5)); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + 1.5)); +PV1i.w = R123i.w; +// 6 +R17i.x = PV1i.w; +R17i.y = PV1i.z; +R13i.z = floatBitsToInt(textureLod(textureUnitPS12, intBitsToFloat(R13i.xy),0.0).x); +R14i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R14i.xy),R14i.z),cubeMapArrayIndex7),intBitsToFloat(R14i.w)).xyz); +R15i.x = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R15i.xz),0.0).x); +R16i.y = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R16i.xy),intBitsToFloat(R16i.w)).x); +R7i.xyz = floatBitsToInt(texture(textureUnitPS17, intBitsToFloat(R15i.wy)).xyz); +R17i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R17i.xy),R17i.z),cubeMapArrayIndex7),intBitsToFloat(R17i.w)).xyz); +R12i.xyz = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R18i.xy)).xyz); +// export +passPixelColor4 = vec4(intBitsToFloat(R12i.w), intBitsToFloat(R12i.w), intBitsToFloat(R12i.w), intBitsToFloat(R12i.w)); +// 0 +PV0i.x = floatBitsToInt(max(intBitsToFloat(R14i.y), intBitsToFloat(R14i.z))); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[9].w)),intBitsToFloat(R13i.z)) + intBitsToFloat(R16i.z))); +PV0i.y = R123i.y; +PV0i.z = floatBitsToInt(min(intBitsToFloat(R14i.y), intBitsToFloat(R14i.z))); +R123i.w = floatBitsToInt((intBitsToFloat(R15i.x) * 2.0 + -(1.0))); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(intBitsToFloat(R16i.y) + intBitsToFloat(uf_remappedPS[27].z)); +PS0i = clampFI32(PS0i); +// 1 +R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * 0.25); +R127i.x = clampFI32(R127i.x); +PV1i.x = R127i.x; +R127i.y = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x41c80000) + intBitsToFloat(R18i.z))); +R127i.z = floatBitsToInt(min(intBitsToFloat(R14i.x), intBitsToFloat(PV0i.z))); +R125i.w = floatBitsToInt(max(intBitsToFloat(R14i.x), intBitsToFloat(PV0i.x))); +PV1i.w = R125i.w; +R24i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R2i.w))); +PS1i = R24i.x; +// 2 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(0x2edbe6ff)); +R126i.y = floatBitsToInt(intBitsToFloat(R14i.y) + -(intBitsToFloat(PV1i.w))); +R125i.z = floatBitsToInt(intBitsToFloat(R14i.x) + -(intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +R124i.w = floatBitsToInt(intBitsToFloat(R14i.z) + -(intBitsToFloat(PV1i.w))); +PS0i = R124i.w; +// 3 +R14i.x = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(uf_remappedPS[28].x)); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R24i.x))); +PV1i.y = R125i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.x)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); +PV1i.z = R123i.z; +R12i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R17i.x), intBitsToFloat(R9i.z))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +// 4 +backupReg0i = R127i.x; +backupReg1i = R0i.z; +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PS1i)) + 1.0)); +PV0i.x = R127i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); +PV0i.y = R127i.y; +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R10i.z))); +R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg1i))); +R15i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R8i.y))); +PS0i = R15i.x; +// 5 +backupReg0i = R5i.x; +R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R17i.z), intBitsToFloat(R11i.w))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(0x2edbe6ff)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); +R11i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R17i.y), intBitsToFloat(backupReg0i))); +R17i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R11i.x))); +PS1i = R17i.w; +// 6 +backupReg0i = R11i.x; +backupReg0i = R11i.x; +R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(backupReg0i))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R19i.x)) + intBitsToFloat(R127i.y))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +R12i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(backupReg0i))); +R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); +PS0i = R127i.w; +// 7 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R10i.w)) + intBitsToFloat(R10i.w))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * 0.5 + 0.5)); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0xbdcccccd) + intBitsToFloat(0x3dcccccd))); +PV1i.z = R123i.z; +R24i.w = PV0i.y; +// 8 +PV0i.x = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.y)); +PV0i.x = clampFI32(PV0i.x); +PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z)); +PV0i.y = clampFI32(PV0i.y); +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(R19i.y))) + intBitsToFloat(PV1i.x))); +// 9 +PV1i.x = floatBitsToInt(intBitsToFloat(R19i.y) + intBitsToFloat(PV0i.y)); +PV1i.x = clampFI32(PV1i.x); +R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.x))); +// 10 +tempResultf = log2(intBitsToFloat(PV1i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 11 +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS0i))); +// 12 +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); +// 13 +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); +// 14 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.w))); +// 15 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.w))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.w))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.w))); +PV1i.z = R123i.z; +// 16 +backupReg0i = R126i.w; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.z))); +PV0i.x = R127i.x; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.y))); +PV0i.z = R125i.z; +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.x))); +PV0i.w = R126i.w; +// 17 +PV1i.x = floatBitsToInt(intBitsToFloat(R7i.z) + -(intBitsToFloat(PV0i.z))); +PV1i.y = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(PV0i.w))); +PV1i.w = floatBitsToInt(intBitsToFloat(R7i.y) + -(intBitsToFloat(PV0i.x))); +// 18 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R20i.x)) + intBitsToFloat(R127i.x))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R20i.x)) + intBitsToFloat(R126i.w))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R20i.x)) + intBitsToFloat(R125i.z))); +PV0i.w = R123i.w; +// 19 +R25i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R2i.x))); +R25i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R8i.z))); +R25i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R2i.y))); +// 0 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R14i.x),intBitsToFloat(uf_remappedPS[29].x)) + intBitsToFloat(uf_remappedPS[30].w))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +// 1 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[31].w))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(R6i.z)) + intBitsToFloat(R25i.y))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(R6i.z)) + intBitsToFloat(R25i.x))); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].x), intBitsToFloat(R0i.z))); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].y), intBitsToFloat(R2i.w))); +PS1i = R125i.z; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].z),intBitsToFloat(R6i.z)) + intBitsToFloat(R25i.z))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R19i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +PV0i.y = R123i.y; +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R21i.x))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R19i.z)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); +PV0i.w = R123i.w; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].z), intBitsToFloat(R15i.x))); +PS0i = R126i.y; +// 3 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R19i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R3i.y))); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.x))); +R124i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R3i.y)) + intBitsToFloat(R3i.y))); +PV1i.w = R124i.w; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R11i.y))); +PS1i = R127i.x; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].x), intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].y), intBitsToFloat(PV1i.y))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); +PV0i.z = R127i.z; +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R11i.z))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].z), intBitsToFloat(PV1i.y))); +PS0i = R126i.z; +// 5 +backupReg0i = R126i.y; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R9i.x)) + intBitsToFloat(R11i.w))); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R9i.x)) + intBitsToFloat(R12i.w))); +R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].x),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.x))); +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.x)) + intBitsToFloat(R5i.x))); +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); +PS1i = R125i.x; +// 6 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +R123i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].z),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z))); +PV0i.w = R123i.w; +// 7 +backupReg0i = R126i.y; +backupReg1i = R126i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(R2i.z)) + intBitsToFloat(R125i.x))); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(R125i.z))); +PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.z)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.x),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.w))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.y)); +// 8 +PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); +R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R22i.y),intBitsToFloat(R6i.w)) + intBitsToFloat(PS1i))); +R23i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].z),intBitsToFloat(R5i.y)) + intBitsToFloat(PV1i.w))); +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R22i.x),intBitsToFloat(R6i.w)) + intBitsToFloat(PV1i.z))); +PS0i = R4i.x; +// 9 +R23i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].x),intBitsToFloat(R5i.y)) + intBitsToFloat(R126i.y))); +R23i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].y),intBitsToFloat(R5i.y)) + intBitsToFloat(R126i.x))); +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R22i.z),intBitsToFloat(R6i.w)) + intBitsToFloat(PV0i.x))); +PV1i.z = R4i.z; +R24i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.z)),intBitsToFloat(R124i.w)) + intBitsToFloat(R124i.w))); +PS1i = R24i.z; +// 10 +R3i.xyz = ivec3(R4i.x,R4i.y,PV1i.z); +R3i.w = R4i.w; +// 11 +R1i.xyz = ivec3(R23i.x,R23i.y,R23i.z); +R1i.w = R23i.w; +// 12 +R0i.xyz = ivec3(R24i.x,R24i.y,R24i.z); +R0i.w = R24i.w; +// 13 +R2i.xyz = ivec3(R25i.x,R25i.y,R25i.z); +R2i.w = R25i.w; +// export +passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z) * dli, intBitsToFloat(R0i.w)); // x affects shadows sharpness, and z affects distant area lighting brightness +passPixelColor1 = vec4(intBitsToFloat(R1i.x) * dred, intBitsToFloat(R1i.y) * dgreen, intBitsToFloat(R1i.z) * dblue, intBitsToFloat(R1i.w)); // x,y,z affects the color red,green,blue of the fog, w does nothing +passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // affects ground color rgb +passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // xyz - RGB for body of waters edge surfaces +} diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt similarity index 98% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt index 08260bcd..369f8261 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/fb2e18ae56397ca7_00fffff249259249_ps.txt @@ -1,960 +1,960 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader fb2e18ae56397ca7 -- Affects Trees Bushes and Vines -#define gli $greenerylighting -#define gred $gred -#define ggreen $ggreen -#define gblue $gblue - -uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3ccc6800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 16) uniform sampler2D textureUnitPS16;// Tex16 addr 0x3cd0f000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 2) in vec4 passParameterSem6; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 3) out vec4 passPixelColor3; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R17i = ivec4(0); -ivec4 R18i = ivec4(0); -ivec4 R19i = ivec4(0); -ivec4 R20i = ivec4(0); -ivec4 R21i = ivec4(0); -ivec4 R22i = ivec4(0); -ivec4 R23i = ivec4(0); -ivec4 R24i = ivec4(0); -ivec4 R25i = ivec4(0); -ivec4 R26i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex7 = 0.0; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem2); -R2i = floatBitsToInt(passParameterSem6); -R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); -R11i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); -R10i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); -R2i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xw); -R8i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); -R23i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R11i.x) * 2.0 + -(1.0))); -R127i.y = floatBitsToInt((intBitsToFloat(R11i.y) * 2.0 + -(1.0))); -R127i.z = floatBitsToInt((intBitsToFloat(R11i.z) * 2.0 + -(1.0))); -R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.w = R7i.w; -R14i.w = 0x40400000; -PS0i = R14i.w; -// 1 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.w)))); -PV1i.x = R0i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.w)))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); -PV1i.z = R126i.z; -R6i.w = 0x3f800000; -R2i.z = 0; -PS1i = R2i.z; -// 2 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[2].x))); -R3i.y = floatBitsToInt((-(intBitsToFloat(R11i.w)) * 0.5 + 1.0)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[3].x))); -R15i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) * intBitsToFloat(0x3ba3d70a)); -R16i.y = 0; -PS0i = R16i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(PV0i.z))); -PS1i = R122i.x; -// 4 -R125i.x = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(0x437f0000)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(uf_remappedPS[4].x))); -R0i.z = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(0xc0600000))); -R0i.z = clampFI32(R0i.z); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PS1i))); -PV0i.w = R123i.w; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.x = R5i.x; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = R6i.y; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(R126i.x))); -PV1i.w = R123i.w; -R13i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV0i.w)); -PS1i = R13i.z; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(R126i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(uf_remappedPS[2].z)) + intBitsToFloat(PV1i.w))); -PV0i.y = R123i.y; -R8i.z = PS1i; -R0i.w = PV1i.x; -R0i.w = floatBitsToInt(intBitsToFloat(R0i.w) * 2.0); -R3i.x = PV1i.y; -R3i.x = floatBitsToInt(intBitsToFloat(R3i.x) * 2.0); -PS0i = R3i.x; -// 7 -R6i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(PV0i.y)); -PV1i.x = R6i.x; -R0i.y = R7i.z; -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(R10i.w) * intBitsToFloat(0x437f0000)); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV0i.x))); -R17i.w = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(0x40400000)); -PS1i = R17i.w; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R12i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); -PS0i = R12i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PS1i = R124i.y; -// 10 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(uf_remappedPS[7].x)) + -(intBitsToFloat(uf_remappedPS[7].y)))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -R126i.y = floatBitsToInt((-(intBitsToFloat(R127i.y)) * 0.5 + 0.5)); -R9i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(R127i.w)); -R124i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x))); -R127i.z = int(intBitsToFloat(R125i.x)); -PS0i = R127i.z; -// 11 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),0.0))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R3i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = R3i.z; -// 12 -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(uf_remappedPS[9].z)) + -(intBitsToFloat(uf_remappedPS[9].x)))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(uf_remappedPS[9].z)) + -(intBitsToFloat(uf_remappedPS[9].y)))); -R12i.z = floatBitsToInt(intBitsToFloat(R9i.z) * intBitsToFloat(0x3a83126f)); -PV0i.w = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(0x40200000)); -tempResultf = log2(intBitsToFloat(PS1i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R4i.y = floatBitsToInt(tempResultf); -PS0i = R4i.y; -// 13 -backupReg0i = R124i.x; -backupReg0i = R124i.x; -backupReg1i = R124i.y; -backupReg2i = R124i.w; -redcCUBE(vec4(intBitsToFloat(R124i.w),intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(R124i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R124i.w),intBitsToFloat(backupReg2i)),cubeMapSTM,cubeMapFaceId); -R124i.x = floatBitsToInt(cubeMapSTM.x); -R124i.y = floatBitsToInt(cubeMapSTM.y); -R124i.z = floatBitsToInt(cubeMapSTM.z); -R124i.w = cubeMapFaceId; -PV1i.x = R124i.x; -PV1i.y = R124i.y; -PV1i.z = R124i.z; -PV1i.w = R124i.w; -R16i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3daaaaab)); -PS1i = R16i.x; -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].y), intBitsToFloat(R4i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[10].w)) + 1.0); -R14i.z = PV1i.w; -PV0i.w = R127i.z & int(1); -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 15 -backupReg0i = R124i.x; -R124i.x = ((PV0i.w == 0)?(0):(0x3f800000)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(uf_remappedPS[9].w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 16 -R14i.x = PV1i.y; -R14i.y = PV1i.w; -R124i.z = floatBitsToInt((intBitsToFloat(R127i.y) * 2.0 + -(1.0))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[10].w))/2.0); -PV0i.w = R123i.w; -R4i.x = uf_remappedPS[11].y; -PS0i = R4i.x; -// 17 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R18i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + 0.5); -PS1i = R18i.y; -// 18 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(R124i.z)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R5i.y = uf_remappedPS[12].y; -R5i.z = uf_remappedPS[13].y; -R3i.w = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); -PV0i.w = R3i.w; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 19 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(uf_remappedPS[14].x)) + -(intBitsToFloat(uf_remappedPS[14].y)))); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R19i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(0x3fa66666)); -R4i.z = floatBitsToInt(intBitsToFloat(R2i.y) + -(intBitsToFloat(PV0i.w))); -R5i.w = 0; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 20 -backupReg0i = R0i.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS1i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R9i.y = int(intBitsToFloat(R125i.z)); -PS0i = R9i.y; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x), intBitsToFloat(uf_remappedPS[16].w))); -PV0i.x = R127i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y), intBitsToFloat(uf_remappedPS[16].w))); -PV0i.y = R124i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.y)),intBitsToFloat(R2i.y)) + 1.0)); -PV0i.z = R123i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(uf_remappedPS[15].x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(uf_remappedPS[15].y)); -PS0i = R126i.y; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); -PV1i.x = R123i.x; -R125i.y = PV0i.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z), intBitsToFloat(uf_remappedPS[16].w))); -PV1i.z = R127i.z; -R4i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(uf_remappedPS[15].z)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -R127i.y = floatBitsToInt(tempResultf); -PS1i = R127i.y; -// 2 -backupReg0i = R0i.z; -R126i.x = 0; -PV0i.y = PV1i.z; -R0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[17].y)); -R124i.w = R9i.y & 0x00000002; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R125i.y),intBitsToFloat(PV0i.y),intBitsToFloat(R2i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.y))); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -PS0i = R126i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(backupReg1i)) + intBitsToFloat(backupReg0i))); -PS1i = R2i.x; -// 6 -backupReg0i = R124i.w; -PV0i.x = floatBitsToInt(max(-(intBitsToFloat(R127i.w)), 0.0)); -R12i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R3i.x)) + intBitsToFloat(R2i.y))); -R2i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R0i.y)) + intBitsToFloat(R6i.z))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R126i.w))); -R124i.w = floatBitsToInt(float(backupReg0i)); -R124i.w = floatBitsToInt(intBitsToFloat(R124i.w) / 2.0); -PS0i = R124i.w; -// 7 -PV1i.x = R9i.y & 0x000000fc; -R20i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PS0i)) + intBitsToFloat(R3i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.z)) + intBitsToFloat(R126i.w))); -PV1i.z = R123i.z; -R3i.w = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -tempResultf = log2(intBitsToFloat(R2i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R126i.z = floatBitsToInt(tempResultf); -PS1i = R126i.z; -// 8 -PV0i.x = floatBitsToInt(max(-(intBitsToFloat(PV1i.z)), intBitsToFloat(0xbf7d70a4))); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R21i.y = R1i.x; -R21i.y = floatBitsToInt(intBitsToFloat(R21i.y) / 2.0); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].x), intBitsToFloat(R4i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(0x3c23d70a))); -R123i.w = clampFI32(R123i.w); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(float(PV1i.x)); -// 9 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x), intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -PV1i.z = R126i.z; -R126i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + 1.0); -R7i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3b820821)); -PS1i = R7i.x; -// 10 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(uf_remappedPS[20].w))); -R125i.x = clampFI32(R125i.x); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(R125i.z))); -PS0i = R127i.w; -// 11 -R3i.x = R11i.w; -R3i.x = floatBitsToInt(intBitsToFloat(R3i.x) / 2.0); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(0xbe593484))); -PV1i.y = R123i.y; -R15i.z = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(0x3c23d70a) + -(0.5))); -R15i.z = clampFI32(R15i.z); -R8i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x40200001)); -R8i.w = clampFI32(R8i.w); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y))); -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); -R22i.y = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R8i.y) + 1.0)); -R3i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.w)),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(0x3fc90da4))); -PV0i.w = R123i.w; -R2i.w = floatBitsToInt(exp2(intBitsToFloat(R124i.x))); -PS0i = R2i.w; -// 13 -R18i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),-(intBitsToFloat(PV0i.w))) + 1.0)); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].z),-(intBitsToFloat(R127i.w))) + intBitsToFloat(uf_remappedPS[10].z))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(uf_remappedPS[21].w))); -R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].z) + -(1.0)); -tempResultf = log2(intBitsToFloat(R125i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R3i.y = floatBitsToInt(tempResultf); -PS1i = R3i.y; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.w),intBitsToFloat(R126i.y),intBitsToFloat(R4i.w),-0.0),vec4(intBitsToFloat(R125i.w),intBitsToFloat(R126i.y),intBitsToFloat(R4i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].x) + -(1.0)); -PS0i = R0i.y; -// 15 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R6i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 16 -R0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].y) + -(1.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[16].w))); -PV1i.x = R125i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[16].w))); -PV1i.y = R126i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[16].w))); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z), intBitsToFloat(PS0i))); -R4i.w = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(0x3e19999a)); -PS1i = R4i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R124i.y)),-(intBitsToFloat(R127i.z)),-0.0),vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(PV1i.y)),-(intBitsToFloat(PV1i.z)),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -R5i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R5i.z; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.z)),vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(R126i.z)),-(intBitsToFloat(R5i.w))))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = R5i.w; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.z)),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R124i.y)),-(intBitsToFloat(R127i.z)),-(intBitsToFloat(R126i.x))))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.w = tempi.x; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -PS0i = R6i.y; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R8i.z),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R6i.y)) + -(intBitsToFloat(R6i.y)))); -PS0i = R127i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R8i.z),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[23].x),intBitsToFloat(uf_remappedPS[23].y),intBitsToFloat(uf_remappedPS[23].z),intBitsToFloat(uf_remappedPS[23].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R8i.z),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[24].x),intBitsToFloat(uf_remappedPS[24].y),intBitsToFloat(uf_remappedPS[24].z),intBitsToFloat(uf_remappedPS[24].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R15i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R15i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[18].w)),intBitsToFloat(R5i.z)) + 1.0)); -PV1i.x = R123i.x; -R15i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.z)),intBitsToFloat(R5i.w)) + intBitsToFloat(R5i.w))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.x) + 1.0); -R124i.y = floatBitsToInt((-(intBitsToFloat(R7i.x)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); -PS1i = R124i.y; -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.w)),intBitsToFloat(R3i.z)) + intBitsToFloat(R3i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.z)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.z = R123i.z; -R124i.w = floatBitsToInt((-(intBitsToFloat(R3i.x)) * intBitsToFloat(0x40400000) + 4.0)); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PS0i = R126i.z; -// 5 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(0x3dcccccd)); -R125i.w = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[25].w))); -PS1i = R127i.x; -// 6 -backupReg0i = R0i.x; -backupReg1i = R3i.y; -backupReg2i = R124i.w; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(R4i.z)) + 1.0)); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z)) + 1.0)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y), intBitsToFloat(backupReg1i))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R22i.y))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -// 7 -backupReg0i = R126i.y; -backupReg1i = R4i.z; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(R124i.y))); -PV1i.x = R124i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i)) + 1.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R125i.w)) + intBitsToFloat(R125i.w))); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R125i.x; -// 8 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R22i.y))); -PV0i.x = R3i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R124i.w)) + 1.0); -R125i.w = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV1i.w))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(uf_remappedPS[26].w))); -R3i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -R0i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.y)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),-(intBitsToFloat(R126i.y))) + intBitsToFloat(R124i.x))); -PS1i = R122i.x; -// 10 -backupReg0i = R8i.y; -backupReg1i = R8i.x; -R8i.x = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PS1i)); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y))); -PV0i.z = backupReg1i; -PV0i.z = clampFI32(PV0i.z); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R125i.w)) + 1.0); -R8i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 0.25); -PS0i = R8i.w; -// 11 -backupReg0i = R10i.x; -backupReg1i = R10i.z; -backupReg2i = R9i.y; -R10i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R10i.x = clampFI32(R10i.x); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R10i.z = clampFI32(R10i.z); -R10i.w = floatBitsToInt((intBitsToFloat(R10i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R10i.w = clampFI32(R10i.w); -PS1i = backupReg2i & int(1); -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(0x3eaaaaab)); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),-(intBitsToFloat(R3i.x))) + intBitsToFloat(R124i.w))); -R26i.w = 0x3f800000; -R6i.z = floatBitsToInt(float(PS1i)); -PS0i = R6i.z; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.w = tempi.x; -R25i.y = 0; -PS1i = R25i.y; -// 14 -R5i.w = 0x3f800000; -R24i.w = 0x3f800000; -PS0i = R24i.w; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -PS1i = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -// 3 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -backupReg1i = R126i.z; -backupReg1i = R126i.z; -redcCUBE(vec4(intBitsToFloat(R126i.z),intBitsToFloat(R126i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); -R126i.x = floatBitsToInt(cubeMapSTM.x); -R126i.y = floatBitsToInt(cubeMapSTM.y); -R126i.z = floatBitsToInt(cubeMapSTM.z); -R126i.w = cubeMapFaceId; -PV1i.x = R126i.x; -PV1i.y = R126i.y; -PV1i.z = R126i.z; -PV1i.w = R126i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].w), intBitsToFloat(uf_remappedPS[16].w))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PS1i))); -R17i.z = PV1i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 5 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R8i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -// 6 -R17i.x = PV1i.w; -R17i.y = PV1i.z; -R2i.z = floatBitsToInt(textureLod(textureUnitPS12, intBitsToFloat(R13i.xy),0.0).x); -R14i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R14i.xy),R14i.z),cubeMapArrayIndex7),intBitsToFloat(R14i.w)).xyz); -R15i.y = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R15i.xy),intBitsToFloat(R15i.w)).x); -R12i.x = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R12i.xz),0.0).x); -R16i.xyz = floatBitsToInt(texture(textureUnitPS16, intBitsToFloat(R16i.xy)).xyz); -R17i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R17i.xy),R17i.z),cubeMapArrayIndex7),intBitsToFloat(R17i.w)).xyz); -R18i.xyz = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R18i.xy)).xyz); -// export -passPixelColor4 = vec4(intBitsToFloat(R11i.w), intBitsToFloat(R11i.w), intBitsToFloat(R11i.w), intBitsToFloat(R11i.w)); -// 0 -PV0i.x = floatBitsToInt(min(intBitsToFloat(R14i.y), intBitsToFloat(R14i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(R15i.y) + intBitsToFloat(uf_remappedPS[27].z)); -PV0i.y = clampFI32(PV0i.y); -PV0i.z = floatBitsToInt(max(intBitsToFloat(R14i.y), intBitsToFloat(R14i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[9].w)),intBitsToFloat(R2i.z)) + intBitsToFloat(R19i.y))); -PV0i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R12i.x) * 2.0 + -(1.0))); -PS0i = R122i.x; -// 1 -R126i.x = floatBitsToInt(min(intBitsToFloat(R14i.x), intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(max(intBitsToFloat(R14i.x), intBitsToFloat(PV0i.z))); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * 0.25); -R126i.z = clampFI32(R126i.z); -PV1i.z = R126i.z; -R126i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x41c80000) + intBitsToFloat(R13i.z))); -R25i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R20i.y))); -PS1i = R25i.x; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R124i.y = floatBitsToInt(intBitsToFloat(R14i.x) + -(intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt(intBitsToFloat(R14i.y) + -(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(0x2edbe6ff)); -R124i.x = floatBitsToInt(intBitsToFloat(R14i.z) + -(intBitsToFloat(PV1i.y))); -PS0i = R124i.x; -// 3 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(R25i.x))); -PV1i.x = R125i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R14i.z = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(uf_remappedPS[28].x)); -R11i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R17i.x), intBitsToFloat(R8i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -backupReg0i = R126i.z; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R14i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R0i.w))); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.x)),intBitsToFloat(PS1i)) + 1.0)); -PV0i.z = R126i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.w = R126i.w; -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R17i.y), intBitsToFloat(R8i.x))); -PS0i = R0i.w; -// 5 -backupReg0i = R17i.z; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R4i.w)) + intBitsToFloat(R125i.x))); -R17i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.x))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0x2edbe6ff)); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R18i.x), intBitsToFloat(R9i.y))); -PS1i = R4i.w; -// 6 -backupReg0i = R18i.z; -R18i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R18i.y), intBitsToFloat(R9i.y))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R0i.z)) + intBitsToFloat(R126i.w))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -R18i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.y))); -R125i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R125i.x; -// 7 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0xbdcccccd) + intBitsToFloat(0x3dcccccd))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * 0.5 + 0.5)); -PV1i.y = R123i.y; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R21i.y)) + intBitsToFloat(R21i.y))); -R25i.w = PV0i.y; -PS1i = R25i.w; -// 8 -PV0i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = clampFI32(PV0i.z); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(PV1i.y)); -PV0i.w = clampFI32(PV0i.w); -// 9 -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.x))); -// 14 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R127i.y))); -PV0i.w = R123i.w; -// 15 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.z))); -PV1i.x = R124i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.w))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.y))); -PV1i.z = R127i.z; -// 16 -PV0i.x = floatBitsToInt(intBitsToFloat(R16i.y) + -(intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(R16i.z) + -(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R16i.x) + -(intBitsToFloat(PV1i.x))); -// 17 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R15i.z)) + intBitsToFloat(R127i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R15i.z)) + intBitsToFloat(R124i.x))); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R15i.z)) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -// 18 -R26i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.z))); -R26i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.y))); -R26i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R0i.x))); -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R14i.z),intBitsToFloat(uf_remappedPS[29].x)) + intBitsToFloat(uf_remappedPS[30].w))); -R123i.z = clampFI32(R123i.z); -PV0i.z = R123i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[31].w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(R0i.z)) + intBitsToFloat(R26i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(R0i.z)) + intBitsToFloat(R26i.x))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].x), intBitsToFloat(R14i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].y), intBitsToFloat(R14i.y))); -PS1i = R127i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].z),intBitsToFloat(R0i.z)) + intBitsToFloat(R26i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R22i.y))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.x)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.x)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].z), intBitsToFloat(R14i.y))); -PS0i = R127i.y; -// 3 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R10i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.x)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R3i.z))); -R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(R3i.z)) + intBitsToFloat(R3i.z))); -PV1i.w = R125i.w; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R10i.w))); -PS1i = R125i.x; -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].x), intBitsToFloat(PV1i.z))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV1i.w))); -PV0i.y = R124i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].y), intBitsToFloat(PV1i.z))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R10i.z))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].z), intBitsToFloat(PV1i.z))); -PS0i = R126i.y; -// 5 -backupReg0i = R127i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R2i.x)) + intBitsToFloat(R0i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(R11i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].x),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.x)) + intBitsToFloat(R17i.z))); -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].z),intBitsToFloat(R124i.y)) + intBitsToFloat(R126i.y))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R10i.y)) + intBitsToFloat(PV1i.z))); -PS0i = R127i.z; -// 7 -backupReg0i = R127i.x; -backupReg1i = R126i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R18i.x),intBitsToFloat(R10i.y)) + intBitsToFloat(R126i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV0i.z)); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R18i.z),intBitsToFloat(R10i.y)) + intBitsToFloat(PV0i.w))); -PS1i = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.x)); -// 8 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R23i.x),intBitsToFloat(R6i.z)) + intBitsToFloat(PV1i.z))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R23i.y),intBitsToFloat(R6i.z)) + intBitsToFloat(PV1i.y))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R23i.z),intBitsToFloat(R6i.z)) + intBitsToFloat(PS1i))); -R24i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PS0i = R24i.x; -// 9 -R24i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -R24i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].z),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.w))); -R25i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R8i.y)),intBitsToFloat(R125i.w)) + intBitsToFloat(R125i.w))); -PS1i = R25i.z; -// 10 -R3i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -R3i.w = R5i.w; -// 11 -R1i.xyz = ivec3(R24i.x,R24i.y,R24i.z); -R1i.w = R24i.w; -// 12 -R0i.xyz = ivec3(R25i.x,R25i.y,R25i.z); -R0i.w = R25i.w; -// 13 -R2i.xyz = ivec3(R26i.x,R26i.y,R26i.z); -R2i.w = R26i.w; -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z) * gli, intBitsToFloat(R0i.w)); // x affects shadows, z affects lighting of trees,bushes,flowers,vines -passPixelColor1 = vec4(intBitsToFloat(R1i.x) * gred, intBitsToFloat(R1i.y) * ggreen, intBitsToFloat(R1i.z) * gblue, intBitsToFloat(R1i.w)); // rgb fog for distant trees -passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // xyz - RGB Bloom/Glowness - to tress and bushes and vines multiply by 20 to see -passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // xyz - RGB Bloom for on water objects like korok rings -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader fb2e18ae56397ca7 -- Affects Trees Bushes and Vines +#define gli $greenerylighting +#define gred $gred +#define ggreen $ggreen +#define gblue $gblue + +uniform ivec4 uf_remappedPS[33]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3ccc6800 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 6 6 6 border: 2 +layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 16) uniform sampler2D textureUnitPS16;// Tex16 addr 0x3cd0f000 res 12x1x1 dim 1 tm: 2 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 2) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 2) out vec4 passPixelColor2; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 4) out vec4 passPixelColor4; +uniform vec2 uf_fragCoordScale; +void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) +{ +// stm -> x .. s, y .. t, z .. MajorAxis*2.0 +vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); +float rx = inputCoord.x; +float ry = inputCoord.y; +float rz = inputCoord.z; +if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) +{ +stm.z = rx*2.0; +stm.xy = vec2(ry,rz); +if( rx >= 0.0 ) +{ +faceId = 0; +} +else +{ +faceId = 1; +} +} +else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) +{ +stm.z = ry*2.0; +stm.xy = vec2(rx,rz); +if( ry >= 0.0 ) +{ +faceId = 2; +} +else +{ +faceId = 3; +} +} +else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) +{ +stm.z = rz*2.0; +stm.xy = vec2(rx,ry); +if( rz >= 0.0 ) +{ +faceId = 4; +} +else +{ +faceId = 5; +} +} +} +vec3 redcCUBEReverse(vec2 st, int faceId) +{ +st.yx = st.xy; +vec3 v; +float majorAxis = 1.0; +if( faceId == 0 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = 1.0; +} +else if( faceId == 1 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = -1.0; +} +else if( faceId == 2 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = 1.0; +} +else if( faceId == 3 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = -1.0; +} +else if( faceId == 4 ) +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = 1.0; +} +else +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = -1.0; +} +return v; +} +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R7i = ivec4(0); +ivec4 R8i = ivec4(0); +ivec4 R9i = ivec4(0); +ivec4 R10i = ivec4(0); +ivec4 R11i = ivec4(0); +ivec4 R12i = ivec4(0); +ivec4 R13i = ivec4(0); +ivec4 R14i = ivec4(0); +ivec4 R15i = ivec4(0); +ivec4 R16i = ivec4(0); +ivec4 R17i = ivec4(0); +ivec4 R18i = ivec4(0); +ivec4 R19i = ivec4(0); +ivec4 R20i = ivec4(0); +ivec4 R21i = ivec4(0); +ivec4 R22i = ivec4(0); +ivec4 R23i = ivec4(0); +ivec4 R24i = ivec4(0); +ivec4 R25i = ivec4(0); +ivec4 R26i = ivec4(0); +ivec4 R122i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +float cubeMapArrayIndex7 = 0.0; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem2); +R2i = floatBitsToInt(passParameterSem6); +R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); +R11i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); +R10i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); +R2i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xw); +R8i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); +R23i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); +// 0 +R127i.x = floatBitsToInt((intBitsToFloat(R11i.x) * 2.0 + -(1.0))); +R127i.y = floatBitsToInt((intBitsToFloat(R11i.y) * 2.0 + -(1.0))); +R127i.z = floatBitsToInt((intBitsToFloat(R11i.z) * 2.0 + -(1.0))); +R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.w = R7i.w; +R14i.w = 0x40400000; +PS0i = R14i.w; +// 1 +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.w)))); +PV1i.x = R0i.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.w)))); +R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); +PV1i.z = R126i.z; +R6i.w = 0x3f800000; +R2i.z = 0; +PS1i = R2i.z; +// 2 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[2].x))); +R3i.y = floatBitsToInt((-(intBitsToFloat(R11i.w)) * 0.5 + 1.0)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[3].x))); +R15i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) * intBitsToFloat(0x3ba3d70a)); +R16i.y = 0; +PS0i = R16i.y; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(PV0i.z))); +PS1i = R122i.x; +// 4 +R125i.x = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(0x437f0000)); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(uf_remappedPS[4].x))); +R0i.z = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(0xc0600000))); +R0i.z = clampFI32(R0i.z); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PS1i))); +PV0i.w = R123i.w; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 5 +R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +PV1i.x = R5i.x; +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +PV1i.y = R6i.y; +R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(R126i.x))); +PV1i.w = R123i.w; +R13i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[3].w) + intBitsToFloat(PV0i.w)); +PS1i = R13i.z; +// 6 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(R126i.y))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(uf_remappedPS[2].z)) + intBitsToFloat(PV1i.w))); +PV0i.y = R123i.y; +R8i.z = PS1i; +R0i.w = PV1i.x; +R0i.w = floatBitsToInt(intBitsToFloat(R0i.w) * 2.0); +R3i.x = PV1i.y; +R3i.x = floatBitsToInt(intBitsToFloat(R3i.x) * 2.0); +PS0i = R3i.x; +// 7 +R6i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].w) + intBitsToFloat(PV0i.y)); +PV1i.x = R6i.x; +R0i.y = R7i.z; +R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) * 2.0); +R125i.z = floatBitsToInt(intBitsToFloat(R10i.w) * intBitsToFloat(0x437f0000)); +R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV0i.x))); +R17i.w = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(0x40400000)); +PS1i = R17i.w; +// 8 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +R12i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); +PS0i = R12i.x; +// 9 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R124i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); +PS1i = R124i.y; +// 10 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(uf_remappedPS[7].x)) + -(intBitsToFloat(uf_remappedPS[7].y)))); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +R126i.y = floatBitsToInt((-(intBitsToFloat(R127i.y)) * 0.5 + 0.5)); +R9i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(R127i.w)); +R124i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x))); +R127i.z = int(intBitsToFloat(R125i.x)); +PS0i = R127i.z; +// 11 +R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),0.0))); +PV1i.x = R124i.x; +PV1i.y = R124i.x; +PV1i.z = R124i.x; +PV1i.w = R124i.x; +R3i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +PS1i = R3i.z; +// 12 +R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(uf_remappedPS[9].z)) + -(intBitsToFloat(uf_remappedPS[9].x)))); +R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(uf_remappedPS[9].z)) + -(intBitsToFloat(uf_remappedPS[9].y)))); +R12i.z = floatBitsToInt(intBitsToFloat(R9i.z) * intBitsToFloat(0x3a83126f)); +PV0i.w = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(0x40200000)); +tempResultf = log2(intBitsToFloat(PS1i)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R4i.y = floatBitsToInt(tempResultf); +PS0i = R4i.y; +// 13 +backupReg0i = R124i.x; +backupReg0i = R124i.x; +backupReg1i = R124i.y; +backupReg2i = R124i.w; +redcCUBE(vec4(intBitsToFloat(R124i.w),intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(R124i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R124i.w),intBitsToFloat(backupReg2i)),cubeMapSTM,cubeMapFaceId); +R124i.x = floatBitsToInt(cubeMapSTM.x); +R124i.y = floatBitsToInt(cubeMapSTM.y); +R124i.z = floatBitsToInt(cubeMapSTM.z); +R124i.w = cubeMapFaceId; +PV1i.x = R124i.x; +PV1i.y = R124i.y; +PV1i.z = R124i.z; +PV1i.w = R124i.w; +R16i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3daaaaab)); +PS1i = R16i.x; +// 14 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].y), intBitsToFloat(R4i.y))); +R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[10].w)) + 1.0); +R14i.z = PV1i.w; +PV0i.w = R127i.z & int(1); +PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +// 15 +backupReg0i = R124i.x; +R124i.x = ((PV0i.w == 0)?(0):(0x3f800000)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PS0i)) + 1.5)); +PV1i.y = R123i.y; +R127i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(uf_remappedPS[9].w)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS0i)) + 1.5)); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); +// 16 +R14i.x = PV1i.y; +R14i.y = PV1i.w; +R124i.z = floatBitsToInt((intBitsToFloat(R127i.y) * 2.0 + -(1.0))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[10].w))/2.0); +PV0i.w = R123i.w; +R4i.x = uf_remappedPS[11].y; +PS0i = R4i.x; +// 17 +backupReg0i = R0i.x; +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R18i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + 0.5); +PS1i = R18i.y; +// 18 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(R124i.z)) + intBitsToFloat(R127i.z))); +PV0i.x = R123i.x; +R5i.y = uf_remappedPS[12].y; +R5i.z = uf_remappedPS[13].y; +R3i.w = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); +PV0i.w = R3i.w; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 19 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(uf_remappedPS[14].x)) + -(intBitsToFloat(uf_remappedPS[14].y)))); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R19i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(0x3fa66666)); +R4i.z = floatBitsToInt(intBitsToFloat(R2i.y) + -(intBitsToFloat(PV0i.w))); +R5i.w = 0; +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); +// 20 +backupReg0i = R0i.x; +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS1i))); +R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); +R2i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +R9i.y = int(intBitsToFloat(R125i.z)); +PS0i = R9i.y; +// 0 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x), intBitsToFloat(uf_remappedPS[16].w))); +PV0i.x = R127i.x; +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y), intBitsToFloat(uf_remappedPS[16].w))); +PV0i.y = R124i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.y)),intBitsToFloat(R2i.y)) + 1.0)); +PV0i.z = R123i.z; +R125i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(uf_remappedPS[15].x)); +R126i.y = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(uf_remappedPS[15].y)); +PS0i = R126i.y; +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); +PV1i.x = R123i.x; +R125i.y = PV0i.x; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z), intBitsToFloat(uf_remappedPS[16].w))); +PV1i.z = R127i.z; +R4i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(uf_remappedPS[15].z)); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); +R127i.y = floatBitsToInt(tempResultf); +PS1i = R127i.y; +// 2 +backupReg0i = R0i.z; +R126i.x = 0; +PV0i.y = PV1i.z; +R0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[17].y)); +R124i.w = R9i.y & 0x00000002; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 3 +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R125i.y),intBitsToFloat(PV0i.y),intBitsToFloat(R2i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.y))); +// 4 +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R6i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.w = tempi.x; +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); +PS0i = R126i.w; +// 5 +backupReg0i = R0i.x; +backupReg1i = R0i.w; +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R2i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(backupReg1i)) + intBitsToFloat(backupReg0i))); +PS1i = R2i.x; +// 6 +backupReg0i = R124i.w; +PV0i.x = floatBitsToInt(max(-(intBitsToFloat(R127i.w)), 0.0)); +R12i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R3i.x)) + intBitsToFloat(R2i.y))); +R2i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R0i.y)) + intBitsToFloat(R6i.z))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R126i.w))); +R124i.w = floatBitsToInt(float(backupReg0i)); +R124i.w = floatBitsToInt(intBitsToFloat(R124i.w) / 2.0); +PS0i = R124i.w; +// 7 +PV1i.x = R9i.y & 0x000000fc; +R20i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PS0i)) + intBitsToFloat(R3i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.z)) + intBitsToFloat(R126i.w))); +PV1i.z = R123i.z; +R3i.w = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); +tempResultf = log2(intBitsToFloat(R2i.w)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R126i.z = floatBitsToInt(tempResultf); +PS1i = R126i.z; +// 8 +PV0i.x = floatBitsToInt(max(-(intBitsToFloat(PV1i.z)), intBitsToFloat(0xbf7d70a4))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); +R21i.y = R1i.x; +R21i.y = floatBitsToInt(intBitsToFloat(R21i.y) / 2.0); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].x), intBitsToFloat(R4i.y))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(0x3c23d70a))); +R123i.w = clampFI32(R123i.w); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(float(PV1i.x)); +// 9 +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x), intBitsToFloat(R126i.z))); +R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); +R126i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); +PV1i.z = R126i.z; +R126i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + 1.0); +R7i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3b820821)); +PS1i = R7i.x; +// 10 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(uf_remappedPS[20].w))); +R125i.x = clampFI32(R125i.x); +PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); +R123i.z = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); +R127i.w = floatBitsToInt(exp2(intBitsToFloat(R125i.z))); +PS0i = R127i.w; +// 11 +R3i.x = R11i.w; +R3i.x = floatBitsToInt(intBitsToFloat(R3i.x) / 2.0); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(0xbe593484))); +PV1i.y = R123i.y; +R15i.z = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(0x3c23d70a) + -(0.5))); +R15i.z = clampFI32(R15i.z); +R8i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x40200001)); +R8i.w = clampFI32(R8i.w); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y))); +// 12 +PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); +R22i.y = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R8i.y) + 1.0)); +R3i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.w)),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.w))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(0x3fc90da4))); +PV0i.w = R123i.w; +R2i.w = floatBitsToInt(exp2(intBitsToFloat(R124i.x))); +PS0i = R2i.w; +// 13 +R18i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),-(intBitsToFloat(PV0i.w))) + 1.0)); +R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[10].z),-(intBitsToFloat(R127i.w))) + intBitsToFloat(uf_remappedPS[10].z))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(uf_remappedPS[21].w))); +R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].z) + -(1.0)); +tempResultf = log2(intBitsToFloat(R125i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R3i.y = floatBitsToInt(tempResultf); +PS1i = R3i.y; +// 14 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.w),intBitsToFloat(R126i.y),intBitsToFloat(R4i.w),-0.0),vec4(intBitsToFloat(R125i.w),intBitsToFloat(R126i.y),intBitsToFloat(R4i.w),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R0i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].x) + -(1.0)); +PS0i = R0i.y; +// 15 +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R6i.z),0.0))); +tempi.x = clampFI32(tempi.x); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 16 +R0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[21].y) + -(1.0)); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS1i))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); +tempResultf = log2(intBitsToFloat(PV1i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 17 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[16].w))); +PV1i.x = R125i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[16].w))); +PV1i.y = R126i.y; +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[16].w))); +PV1i.z = R126i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z), intBitsToFloat(PS0i))); +R4i.w = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(0x3e19999a)); +PS1i = R4i.w; +// 18 +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R124i.y)),-(intBitsToFloat(R127i.z)),-0.0),vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(PV1i.y)),-(intBitsToFloat(PV1i.z)),0.0))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R6i.z = tempi.x; +R5i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); +PS0i = R5i.z; +// 19 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.z)),vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(R126i.z)),-(intBitsToFloat(R5i.w))))); +tempi.x = clampFI32(tempi.x); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R5i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +PS1i = R5i.w; +// 20 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.z)),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R124i.y)),-(intBitsToFloat(R127i.z)),-(intBitsToFloat(R126i.x))))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R9i.w = tempi.x; +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); +PS0i = R6i.y; +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R8i.z),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R6i.y)) + -(intBitsToFloat(R6i.y)))); +PS0i = R127i.x; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R8i.z),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[23].x),intBitsToFloat(uf_remappedPS[23].y),intBitsToFloat(uf_remappedPS[23].z),intBitsToFloat(uf_remappedPS[23].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +PS1i = R127i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R8i.z),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[24].x),intBitsToFloat(uf_remappedPS[24].y),intBitsToFloat(uf_remappedPS[24].z),intBitsToFloat(uf_remappedPS[24].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R15i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); +PS0i = R15i.x; +// 3 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[18].w)),intBitsToFloat(R5i.z)) + 1.0)); +PV1i.x = R123i.x; +R15i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); +R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.z)),intBitsToFloat(R5i.w)) + intBitsToFloat(R5i.w))); +PV1i.z = R127i.z; +PV1i.w = floatBitsToInt(intBitsToFloat(R127i.x) + 1.0); +R124i.y = floatBitsToInt((-(intBitsToFloat(R7i.x)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); +PS1i = R124i.y; +// 4 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.w)),intBitsToFloat(R3i.z)) + intBitsToFloat(R3i.z))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.z)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); +PV0i.z = R123i.z; +R124i.w = floatBitsToInt((-(intBitsToFloat(R3i.x)) * intBitsToFloat(0x40400000) + 4.0)); +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); +PS0i = R126i.z; +// 5 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV0i.x))); +R127i.z = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(0x3dcccccd)); +R125i.w = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[25].w))); +PS1i = R127i.x; +// 6 +backupReg0i = R0i.x; +backupReg1i = R3i.y; +backupReg2i = R124i.w; +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(R4i.z)) + 1.0)); +R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z)) + 1.0)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y), intBitsToFloat(backupReg1i))); +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R22i.y))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); +// 7 +backupReg0i = R126i.y; +backupReg1i = R4i.z; +R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(R124i.y))); +PV1i.x = R124i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i)) + 1.0)); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R125i.w)) + intBitsToFloat(R125i.w))); +R123i.w = clampFI32(R123i.w); +PV1i.w = R123i.w; +R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); +PS1i = R125i.x; +// 8 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R22i.y))); +PV0i.x = R3i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PV1i.x))); +PV0i.y = R123i.y; +PV0i.z = floatBitsToInt(-(intBitsToFloat(R124i.w)) + 1.0); +R125i.w = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV1i.w))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); +// 9 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(uf_remappedPS[26].w))); +R3i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); +R0i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.y)); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),-(intBitsToFloat(R126i.y))) + intBitsToFloat(R124i.x))); +PS1i = R122i.x; +// 10 +backupReg0i = R8i.y; +backupReg1i = R8i.x; +R8i.x = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PS1i)); +R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y))); +PV0i.z = backupReg1i; +PV0i.z = clampFI32(PV0i.z); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R125i.w)) + 1.0); +R8i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 0.25); +PS0i = R8i.w; +// 11 +backupReg0i = R10i.x; +backupReg1i = R10i.z; +backupReg2i = R9i.y; +R10i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R10i.x = clampFI32(R10i.x); +R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(R125i.w))); +R10i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R10i.z = clampFI32(R10i.z); +R10i.w = floatBitsToInt((intBitsToFloat(R10i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R10i.w = clampFI32(R10i.w); +PS1i = backupReg2i & int(1); +// 12 +PV0i.x = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(0x3eaaaaab)); +R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),-(intBitsToFloat(R3i.x))) + intBitsToFloat(R124i.w))); +R26i.w = 0x3f800000; +R6i.z = floatBitsToInt(float(PS1i)); +PS0i = R6i.z; +// 13 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),1.0,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R11i.w = tempi.x; +R25i.y = 0; +PS1i = R25i.y; +// 14 +R5i.w = 0x3f800000; +R24i.w = 0x3f800000; +PS0i = R24i.w; +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +// 1 +R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),0.0))); +PV1i.x = R126i.x; +PV1i.y = R126i.x; +PV1i.z = R126i.x; +PV1i.w = R126i.x; +R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +PS1i = R126i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.y = tempi.x; +// 3 +backupReg0i = R126i.x; +backupReg0i = R126i.x; +backupReg1i = R126i.z; +backupReg1i = R126i.z; +redcCUBE(vec4(intBitsToFloat(R126i.z),intBitsToFloat(R126i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); +R126i.x = floatBitsToInt(cubeMapSTM.x); +R126i.y = floatBitsToInt(cubeMapSTM.y); +R126i.z = floatBitsToInt(cubeMapSTM.z); +R126i.w = cubeMapFaceId; +PV1i.x = R126i.x; +PV1i.y = R126i.y; +PV1i.z = R126i.z; +PV1i.w = R126i.w; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].w), intBitsToFloat(uf_remappedPS[16].w))); +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PS1i))); +R17i.z = PV1i.w; +PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +// 5 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R8i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS0i)) + 1.5)); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS0i)) + 1.5)); +PV1i.w = R123i.w; +// 6 +R17i.x = PV1i.w; +R17i.y = PV1i.z; +R2i.z = floatBitsToInt(textureLod(textureUnitPS12, intBitsToFloat(R13i.xy),0.0).x); +R14i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R14i.xy),R14i.z),cubeMapArrayIndex7),intBitsToFloat(R14i.w)).xyz); +R15i.y = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R15i.xy),intBitsToFloat(R15i.w)).x); +R12i.x = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R12i.xz),0.0).x); +R16i.xyz = floatBitsToInt(texture(textureUnitPS16, intBitsToFloat(R16i.xy)).xyz); +R17i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R17i.xy),R17i.z),cubeMapArrayIndex7),intBitsToFloat(R17i.w)).xyz); +R18i.xyz = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R18i.xy)).xyz); +// export +passPixelColor4 = vec4(intBitsToFloat(R11i.w), intBitsToFloat(R11i.w), intBitsToFloat(R11i.w), intBitsToFloat(R11i.w)); +// 0 +PV0i.x = floatBitsToInt(min(intBitsToFloat(R14i.y), intBitsToFloat(R14i.z))); +PV0i.y = floatBitsToInt(intBitsToFloat(R15i.y) + intBitsToFloat(uf_remappedPS[27].z)); +PV0i.y = clampFI32(PV0i.y); +PV0i.z = floatBitsToInt(max(intBitsToFloat(R14i.y), intBitsToFloat(R14i.z))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[9].w)),intBitsToFloat(R2i.z)) + intBitsToFloat(R19i.y))); +PV0i.w = R123i.w; +R122i.x = floatBitsToInt((intBitsToFloat(R12i.x) * 2.0 + -(1.0))); +PS0i = R122i.x; +// 1 +R126i.x = floatBitsToInt(min(intBitsToFloat(R14i.x), intBitsToFloat(PV0i.x))); +R127i.y = floatBitsToInt(max(intBitsToFloat(R14i.x), intBitsToFloat(PV0i.z))); +PV1i.y = R127i.y; +R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * 0.25); +R126i.z = clampFI32(R126i.z); +PV1i.z = R126i.z; +R126i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x41c80000) + intBitsToFloat(R13i.z))); +R25i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R20i.y))); +PS1i = R25i.x; +// 2 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); +R124i.y = floatBitsToInt(intBitsToFloat(R14i.x) + -(intBitsToFloat(PV1i.y))); +R127i.z = floatBitsToInt(intBitsToFloat(R14i.y) + -(intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(0x2edbe6ff)); +R124i.x = floatBitsToInt(intBitsToFloat(R14i.z) + -(intBitsToFloat(PV1i.y))); +PS0i = R124i.x; +// 3 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(R25i.x))); +PV1i.x = R125i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +R14i.z = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(uf_remappedPS[28].x)); +R11i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R17i.x), intBitsToFloat(R8i.x))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); +// 4 +backupReg0i = R126i.z; +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +R14i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R0i.w))); +R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.x)),intBitsToFloat(PS1i)) + 1.0)); +PV0i.z = R126i.z; +R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +PV0i.w = R126i.w; +R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R17i.y), intBitsToFloat(R8i.x))); +PS0i = R0i.w; +// 5 +backupReg0i = R17i.z; +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R4i.w)) + intBitsToFloat(R125i.x))); +R17i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.x))); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0x2edbe6ff)); +R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R18i.x), intBitsToFloat(R9i.y))); +PS1i = R4i.w; +// 6 +backupReg0i = R18i.z; +R18i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R18i.y), intBitsToFloat(R9i.y))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R0i.z)) + intBitsToFloat(R126i.w))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +R18i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.y))); +R125i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); +PS0i = R125i.x; +// 7 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0xbdcccccd) + intBitsToFloat(0x3dcccccd))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * 0.5 + 0.5)); +PV1i.y = R123i.y; +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R21i.y)) + intBitsToFloat(R21i.y))); +R25i.w = PV0i.y; +PS1i = R25i.w; +// 8 +PV0i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.x)); +PV0i.z = clampFI32(PV0i.z); +PV0i.w = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(PV1i.y)); +PV0i.w = clampFI32(PV0i.w); +// 9 +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); +tempResultf = log2(intBitsToFloat(PV0i.z)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 10 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); +// 11 +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); +// 12 +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); +// 13 +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.x))); +// 14 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(R127i.y))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R127i.y))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R127i.y))); +PV0i.w = R123i.w; +// 15 +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.z))); +PV1i.x = R124i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.w))); +PV1i.y = R127i.y; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.y))); +PV1i.z = R127i.z; +// 16 +PV0i.x = floatBitsToInt(intBitsToFloat(R16i.y) + -(intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(intBitsToFloat(R16i.z) + -(intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(intBitsToFloat(R16i.x) + -(intBitsToFloat(PV1i.x))); +// 17 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R15i.z)) + intBitsToFloat(R127i.y))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R15i.z)) + intBitsToFloat(R124i.x))); +PV1i.y = R123i.y; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R15i.z)) + intBitsToFloat(R127i.z))); +PV1i.w = R123i.w; +// 18 +R26i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.z))); +R26i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.y))); +R26i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R0i.x))); +// 0 +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R14i.z),intBitsToFloat(uf_remappedPS[29].x)) + intBitsToFloat(uf_remappedPS[30].w))); +R123i.z = clampFI32(R123i.z); +PV0i.z = R123i.z; +// 1 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[31].w))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(R0i.z)) + intBitsToFloat(R26i.y))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(R0i.z)) + intBitsToFloat(R26i.x))); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].x), intBitsToFloat(R14i.y))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].y), intBitsToFloat(R14i.y))); +PS1i = R127i.z; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].z),intBitsToFloat(R0i.z)) + intBitsToFloat(R26i.z))); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R22i.y))); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.x)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.x)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); +PV0i.w = R123i.w; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[32].z), intBitsToFloat(R14i.y))); +PS0i = R127i.y; +// 3 +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R10i.x))); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.x)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R3i.z))); +R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(R3i.z)) + intBitsToFloat(R3i.z))); +PV1i.w = R125i.w; +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R10i.w))); +PS1i = R125i.x; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].x), intBitsToFloat(PV1i.z))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV1i.w))); +PV0i.y = R124i.y; +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].y), intBitsToFloat(PV1i.z))); +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R10i.z))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[31].z), intBitsToFloat(PV1i.z))); +PS0i = R126i.y; +// 5 +backupReg0i = R127i.y; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R2i.x)) + intBitsToFloat(R0i.w))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(R11i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].x),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.x))); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.x)) + intBitsToFloat(R17i.z))); +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); +PS1i = R126i.x; +// 6 +R123i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[26].z),intBitsToFloat(R124i.y)) + intBitsToFloat(R126i.y))); +PV0i.w = R123i.w; +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R10i.y)) + intBitsToFloat(PV1i.z))); +PS0i = R127i.z; +// 7 +backupReg0i = R127i.x; +backupReg1i = R126i.w; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R18i.x),intBitsToFloat(R10i.y)) + intBitsToFloat(R126i.x))); +PV1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.y)); +PV1i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV0i.z)); +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R18i.z),intBitsToFloat(R10i.y)) + intBitsToFloat(PV0i.w))); +PS1i = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.x)); +// 8 +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R23i.x),intBitsToFloat(R6i.z)) + intBitsToFloat(PV1i.z))); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R23i.y),intBitsToFloat(R6i.z)) + intBitsToFloat(PV1i.y))); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R23i.z),intBitsToFloat(R6i.z)) + intBitsToFloat(PS1i))); +R24i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); +PS0i = R24i.x; +// 9 +R24i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); +R24i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].z),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.w))); +R25i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R8i.y)),intBitsToFloat(R125i.w)) + intBitsToFloat(R125i.w))); +PS1i = R25i.z; +// 10 +R3i.xyz = ivec3(R5i.x,R5i.y,R5i.z); +R3i.w = R5i.w; +// 11 +R1i.xyz = ivec3(R24i.x,R24i.y,R24i.z); +R1i.w = R24i.w; +// 12 +R0i.xyz = ivec3(R25i.x,R25i.y,R25i.z); +R0i.w = R25i.w; +// 13 +R2i.xyz = ivec3(R26i.x,R26i.y,R26i.z); +R2i.w = R26i.w; +// export +passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z) * gli, intBitsToFloat(R0i.w)); // x affects shadows, z affects lighting of trees,bushes,flowers,vines +passPixelColor1 = vec4(intBitsToFloat(R1i.x) * gred, intBitsToFloat(R1i.y) * ggreen, intBitsToFloat(R1i.z) * gblue, intBitsToFloat(R1i.w)); // rgb fog for distant trees +passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // xyz - RGB Bloom/Glowness - to tress and bushes and vines multiply by 20 to see +passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); // xyz - RGB Bloom for on water objects like korok rings +} diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt similarity index 91% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt index 6cbd7212..d25ab9e9 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_DistantFog/rules.txt @@ -1,338 +1,338 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = Distant Area Fog Pack -path = "The Legend of Zelda: Breath of the Wild/Enhancements/Distant Fog Removal/Distant Fog - Main" -description = Can Remove Distant Fog Haze from the world. Change its RGB color. Light up the Distance. -version = 3 - - -[Preset] -name = Fog 0% Light x1 -$distantlighting = 1 -$dred = 0 -$dgreen = 0 -$dblue = 0 - -$greenerylighting = 1 -$gred = 0 -$ggreen = 0 -$gblue = 0 - -$waterfogred = 0 -$waterfoggreen = 0 -$waterfogblue = 0 - -[Preset] -name = Fog 0% Light x2 -$distantlighting = 2 -$dred = 0 -$dgreen = 0 -$dblue = 0 - -$greenerylighting = 2 -$gred = 0 -$ggreen = 0 -$gblue = 0 - -$waterfogred = 0 -$waterfoggreen = 0 -$waterfogblue = 0 - -[Preset] -name = Fog 0% Light x4 -$distantlighting = 4 -$dred = 0 -$dgreen = 0 -$dblue = 0 - -$greenerylighting = 4 -$gred = 0 -$ggreen = 0 -$gblue = 0 - -$waterfogred = 0 -$waterfoggreen = 0 -$waterfogblue = 0 - -[Preset] -name = Fog 0% Light x8 -$distantlighting = 8 -$dred = 0 -$dgreen = 0 -$dblue = 0 - -$greenerylighting = 8 -$gred = 0 -$ggreen = 0 -$gblue = 0 - -$waterfogred = 0 -$waterfoggreen = 0 -$waterfogblue = 0 - -[Preset] -name = ---------------------------------------- -$distantlighting = 1 -$dred = 1 -$dgreen = 1 -$dblue = 1 -$greenerylighting = 1 -$gred = 1 -$ggreen = 1 -$gblue = 1 -$waterfogred = 1 -$waterfoggreen = 1 -$waterfogblue = 1 - -[Preset] -name = Fog 10% Light x1 -$distantlighting = 1 -$dred = 0.1 -$dgreen = 0.1 -$dblue = 0.1 - -$greenerylighting = 1 -$gred = 0.1 -$ggreen = 0.1 -$gblue = 0.1 - -$waterfogred = 0.1 -$waterfoggreen = 0.1 -$waterfogblue = 0.1 - - -[Preset] -name = Fog 10% Light x2 -$distantlighting = 2 -$dred = 0.1 -$dgreen = 0.1 -$dblue = 0.1 - -$greenerylighting = 2 -$gred = 0.1 -$ggreen = 0.1 -$gblue = 0.1 - -$waterfogred = 0.1 -$waterfoggreen = 0.1 -$waterfogblue = 0.1 - - -[Preset] -name = Fog 10% Light x4 -$distantlighting = 4 -$dred = 0.1 -$dgreen = 0.1 -$dblue = 0.1 - -$greenerylighting = 4 -$gred = 0.1 -$ggreen = 0.1 -$gblue = 0.1 - -$waterfogred = 0.1 -$waterfoggreen = 0.1 -$waterfogblue = 0.1 - - -[Preset] -name = Fog 10% Light x8 -$distantlighting = 8 -$dred = 0.1 -$dgreen = 0.1 -$dblue = 0.1 - -$greenerylighting = 8 -$gred = 0.1 -$ggreen = 0.1 -$gblue = 0.1 - -$waterfogred = 0.1 -$waterfoggreen = 0.1 -$waterfogblue = 0.1 - -[Preset] -name = ---------------------------------------- -$distantlighting = 1 -$dred = 1 -$dgreen = 1 -$dblue = 1 -$greenerylighting = 1 -$gred = 1 -$ggreen = 1 -$gblue = 1 -$waterfogred = 1 -$waterfoggreen = 1 -$waterfogblue = 1 - -[Preset] -name = Fog 30% Light x1 -$distantlighting = 1 -$dred = 0.3 -$dgreen = 0.3 -$dblue = 0.3 - -$greenerylighting = 1 -$gred = 0.3 -$ggreen = 0.3 -$gblue = 0.3 - -$waterfogred = 0.3 -$waterfoggreen = 0.3 -$waterfogblue = 0.3 - - -[Preset] -name = Fog 30% Light x2 -$distantlighting = 2 -$dred = 0.3 -$dgreen = 0.3 -$dblue = 0.3 - -$greenerylighting = 2 -$gred = 0.3 -$ggreen = 0.3 -$gblue = 0.3 - -$waterfogred = 0.3 -$waterfoggreen = 0.3 -$waterfogblue = 0.3 - - -[Preset] -name = Fog 30% Light x4 -$distantlighting = 4 -$dred = 0.3 -$dgreen = 0.3 -$dblue = 0.3 - -$greenerylighting = 4 -$gred = 0.3 -$ggreen = 0.3 -$gblue = 0.3 - -$waterfogred = 0.3 -$waterfoggreen = 0.3 -$waterfogblue = 0.3 - - -[Preset] -name = Fog 30% Light x8 -$distantlighting = 8 -$dred = 0.3 -$dgreen = 0.3 -$dblue = 0.3 - -$greenerylighting = 8 -$gred = 0.3 -$ggreen = 0.3 -$gblue = 0.3 - -$waterfogred = 0.3 -$waterfoggreen = 0.3 -$waterfogblue = 0.3 - - -[Preset] -name = ---------------------------------------- -$distantlighting = 1 -$dred = 1 -$dgreen = 1 -$dblue = 1 -$greenerylighting = 1 -$gred = 1 -$ggreen = 1 -$gblue = 1 -$waterfogred = 1 -$waterfoggreen = 1 -$waterfogblue = 1 - -[Preset] -name = Fog Red x4 Light x4 -$distantlighting = 4 -$dred = 4 -$dgreen = 0 -$dblue = 0 - -$greenerylighting = 1 -$gred = 0 -$ggreen = 0 -$gblue = 0 - -$waterfogred = 0 -$waterfoggreen = 0 -$waterfogblue = 0 - -[Preset] -name = Fog Blue x4 Light x4 -$distantlighting = 4 -$dred = 0 -$dgreen = 0 -$dblue = 4 - -$greenerylighting = 4 -$gred = 0 -$ggreen = 0 -$gblue = 0 - -$waterfogred = 0 -$waterfoggreen = 0 -$waterfogblue = 0 - -[Preset] -name = ---------------------------------------- -$distantlighting = 1 -$dred = 1 -$dgreen = 1 -$dblue = 1 -$greenerylighting = 1 -$gred = 1 -$ggreen = 1 -$gblue = 1 -$waterfogred = 1 -$waterfoggreen = 1 -$waterfogblue = 1 - -[Preset] -name = Original -$distantlighting = 1 -$dred = 1 -$dgreen = 1 -$dblue = 1 - -$greenerylighting = 1 -$gred = 1 -$ggreen = 1 -$gblue = 1 - -$waterfogred = 1 -$waterfoggreen = 1 -$waterfogblue = 1 - -[Preset] -name = Custom Preset -$distantlighting = 2 -$dred = 0.1 -$dgreen = 0.1 -$dblue = 0.1 - -$greenerylighting = 2 -$gred = 0 -$ggreen = 0 -$gblue = 0 - -$waterfogred = 0 -$waterfoggreen = 0 -$waterfogblue = 0 - -# Information -# by SkalFate -# ---------------------- -# Distant lighting - is for distant area lighting of the land and how far in the distance everything is lit up -# ------ Values are multiplied, so if you want to lower use 0.01-1.0, or if you want to go higher go from 1.0-X.X - -# Greenery lighting - is the same as above but for trees vines, bushes -# ------ Values are multiplied, so if you want to lower use 0.01-1.0, or if you want to go higher go from 1.0-X.X - -# RGB - Red, Green, Blue - is self explanatory for the color of the fog, trees, water. +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Distant Area Fog Pack +path = "The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/Distant Fog - Main" +description = Can Remove Distant Fog Haze from the world. Change its RGB color. Light up the Distance. +version = 3 + + +[Preset] +name = Fog 0% Light x1 +$distantlighting = 1 +$dred = 0 +$dgreen = 0 +$dblue = 0 + +$greenerylighting = 1 +$gred = 0 +$ggreen = 0 +$gblue = 0 + +$waterfogred = 0 +$waterfoggreen = 0 +$waterfogblue = 0 + +[Preset] +name = Fog 0% Light x2 +$distantlighting = 2 +$dred = 0 +$dgreen = 0 +$dblue = 0 + +$greenerylighting = 2 +$gred = 0 +$ggreen = 0 +$gblue = 0 + +$waterfogred = 0 +$waterfoggreen = 0 +$waterfogblue = 0 + +[Preset] +name = Fog 0% Light x4 +$distantlighting = 4 +$dred = 0 +$dgreen = 0 +$dblue = 0 + +$greenerylighting = 4 +$gred = 0 +$ggreen = 0 +$gblue = 0 + +$waterfogred = 0 +$waterfoggreen = 0 +$waterfogblue = 0 + +[Preset] +name = Fog 0% Light x8 +$distantlighting = 8 +$dred = 0 +$dgreen = 0 +$dblue = 0 + +$greenerylighting = 8 +$gred = 0 +$ggreen = 0 +$gblue = 0 + +$waterfogred = 0 +$waterfoggreen = 0 +$waterfogblue = 0 + +[Preset] +name = ---------------------------------------- +$distantlighting = 1 +$dred = 1 +$dgreen = 1 +$dblue = 1 +$greenerylighting = 1 +$gred = 1 +$ggreen = 1 +$gblue = 1 +$waterfogred = 1 +$waterfoggreen = 1 +$waterfogblue = 1 + +[Preset] +name = Fog 10% Light x1 +$distantlighting = 1 +$dred = 0.1 +$dgreen = 0.1 +$dblue = 0.1 + +$greenerylighting = 1 +$gred = 0.1 +$ggreen = 0.1 +$gblue = 0.1 + +$waterfogred = 0.1 +$waterfoggreen = 0.1 +$waterfogblue = 0.1 + + +[Preset] +name = Fog 10% Light x2 +$distantlighting = 2 +$dred = 0.1 +$dgreen = 0.1 +$dblue = 0.1 + +$greenerylighting = 2 +$gred = 0.1 +$ggreen = 0.1 +$gblue = 0.1 + +$waterfogred = 0.1 +$waterfoggreen = 0.1 +$waterfogblue = 0.1 + + +[Preset] +name = Fog 10% Light x4 +$distantlighting = 4 +$dred = 0.1 +$dgreen = 0.1 +$dblue = 0.1 + +$greenerylighting = 4 +$gred = 0.1 +$ggreen = 0.1 +$gblue = 0.1 + +$waterfogred = 0.1 +$waterfoggreen = 0.1 +$waterfogblue = 0.1 + + +[Preset] +name = Fog 10% Light x8 +$distantlighting = 8 +$dred = 0.1 +$dgreen = 0.1 +$dblue = 0.1 + +$greenerylighting = 8 +$gred = 0.1 +$ggreen = 0.1 +$gblue = 0.1 + +$waterfogred = 0.1 +$waterfoggreen = 0.1 +$waterfogblue = 0.1 + +[Preset] +name = ---------------------------------------- +$distantlighting = 1 +$dred = 1 +$dgreen = 1 +$dblue = 1 +$greenerylighting = 1 +$gred = 1 +$ggreen = 1 +$gblue = 1 +$waterfogred = 1 +$waterfoggreen = 1 +$waterfogblue = 1 + +[Preset] +name = Fog 30% Light x1 +$distantlighting = 1 +$dred = 0.3 +$dgreen = 0.3 +$dblue = 0.3 + +$greenerylighting = 1 +$gred = 0.3 +$ggreen = 0.3 +$gblue = 0.3 + +$waterfogred = 0.3 +$waterfoggreen = 0.3 +$waterfogblue = 0.3 + + +[Preset] +name = Fog 30% Light x2 +$distantlighting = 2 +$dred = 0.3 +$dgreen = 0.3 +$dblue = 0.3 + +$greenerylighting = 2 +$gred = 0.3 +$ggreen = 0.3 +$gblue = 0.3 + +$waterfogred = 0.3 +$waterfoggreen = 0.3 +$waterfogblue = 0.3 + + +[Preset] +name = Fog 30% Light x4 +$distantlighting = 4 +$dred = 0.3 +$dgreen = 0.3 +$dblue = 0.3 + +$greenerylighting = 4 +$gred = 0.3 +$ggreen = 0.3 +$gblue = 0.3 + +$waterfogred = 0.3 +$waterfoggreen = 0.3 +$waterfogblue = 0.3 + + +[Preset] +name = Fog 30% Light x8 +$distantlighting = 8 +$dred = 0.3 +$dgreen = 0.3 +$dblue = 0.3 + +$greenerylighting = 8 +$gred = 0.3 +$ggreen = 0.3 +$gblue = 0.3 + +$waterfogred = 0.3 +$waterfoggreen = 0.3 +$waterfogblue = 0.3 + + +[Preset] +name = ---------------------------------------- +$distantlighting = 1 +$dred = 1 +$dgreen = 1 +$dblue = 1 +$greenerylighting = 1 +$gred = 1 +$ggreen = 1 +$gblue = 1 +$waterfogred = 1 +$waterfoggreen = 1 +$waterfogblue = 1 + +[Preset] +name = Fog Red x4 Light x4 +$distantlighting = 4 +$dred = 4 +$dgreen = 0 +$dblue = 0 + +$greenerylighting = 1 +$gred = 0 +$ggreen = 0 +$gblue = 0 + +$waterfogred = 0 +$waterfoggreen = 0 +$waterfogblue = 0 + +[Preset] +name = Fog Blue x4 Light x4 +$distantlighting = 4 +$dred = 0 +$dgreen = 0 +$dblue = 4 + +$greenerylighting = 4 +$gred = 0 +$ggreen = 0 +$gblue = 0 + +$waterfogred = 0 +$waterfoggreen = 0 +$waterfogblue = 0 + +[Preset] +name = ---------------------------------------- +$distantlighting = 1 +$dred = 1 +$dgreen = 1 +$dblue = 1 +$greenerylighting = 1 +$gred = 1 +$ggreen = 1 +$gblue = 1 +$waterfogred = 1 +$waterfoggreen = 1 +$waterfogblue = 1 + +[Preset] +name = Original +$distantlighting = 1 +$dred = 1 +$dgreen = 1 +$dblue = 1 + +$greenerylighting = 1 +$gred = 1 +$ggreen = 1 +$gblue = 1 + +$waterfogred = 1 +$waterfoggreen = 1 +$waterfogblue = 1 + +[Preset] +name = Custom Preset +$distantlighting = 2 +$dred = 0.1 +$dgreen = 0.1 +$dblue = 0.1 + +$greenerylighting = 2 +$gred = 0 +$ggreen = 0 +$gblue = 0 + +$waterfogred = 0 +$waterfoggreen = 0 +$waterfogblue = 0 + +# Information +# by SkalFate +# ---------------------- +# Distant lighting - is for distant area lighting of the land and how far in the distance everything is lit up +# ------ Values are multiplied, so if you want to lower use 0.01-1.0, or if you want to go higher go from 1.0-X.X + +# Greenery lighting - is the same as above but for trees vines, bushes +# ------ Values are multiplied, so if you want to lower use 0.01-1.0, or if you want to go higher go from 1.0-X.X + +# RGB - Red, Green, Blue - is self explanatory for the color of the fog, trees, water. # ------ Values are multiplied so if you want to lower use 0.01-1.0, or if you want to go higher go from 1.0-X.X \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt similarity index 97% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt index 125ddb21..e1f04f39 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/29c30aaa023dc7e6_0000000000000709_ps.txt @@ -1,180 +1,180 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader 29c30aaa023dc7e6 -- Ganons middle and bottom big swirl -#define aurafog $aurafog -#define aurared $aurared -#define auragreen $auragreen -#define aurablue $aurablue -#define auraopacity $auraopacity - -#ifndef aurafog - #define aurafog 1 -#endif -#ifndef aurared - #define aurared 1 -#endif -#ifndef auragreen - #define auragreen 1 -#endif -#ifndef aurablue - #define aurablue 1 -#endif -#ifndef auraopacity - #define auraopacity 1 -#endif - -uniform ivec4 uf_remappedPS[2]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20265000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x202df000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1bf70000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem4; -layout(location = 3) in vec4 passParameterSem5; -layout(location = 4) in vec4 passParameterSem7; -layout(location = 5) in vec4 passParameterSem8; -layout(location = 6) in vec4 passParameterSem9; -layout(location = 7) in vec4 passParameterSem14; -layout(location = 8) in vec4 passParameterSem15; -layout(location = 9) in vec4 passParameterSem16; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -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 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(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; -vec3 cubeMapSTM; -int cubeMapFaceId; - -R0f = passParameterSem0; -R1f = passParameterSem1; -R2f = passParameterSem4; -R3f = passParameterSem5; -R4f = passParameterSem7; -R5f = passParameterSem8; -R6f = passParameterSem9; -R7f = passParameterSem14; -R8f = passParameterSem15; -R9f = passParameterSem16; -R3f.xw = (texture(textureUnitPS0, R5f.xy).xw); - -// 0 -R123f.z = (R3f.w * 2.0 + -(1.0)); -PV0f.z = R123f.z; -R123f.w = (R3f.x * 2.0 + -(1.0)); -PV0f.w = R123f.w; -// 1 -PV1f.y = mul_nonIEEE(R2f.y, PV0f.w); -PV1f.w = mul_nonIEEE(R3f.y, PV0f.z); -// 2 -backupReg0f = R3f.z; -backupReg0f = R3f.z; -R3f.x = R5f.z + PV1f.y; -R3f.y = R5f.w + PV1f.w; -R3f.z = (mul_nonIEEE(backupReg0f,PV1f.y) + R6f.x); -R3f.w = (mul_nonIEEE(backupReg0f,PV1f.w) + R6f.y); -R3f.x = (texture(textureUnitPS1, R3f.xy).w); -R5f.xw = (texture(textureUnitPS2, R3f.zw).xw); // how shiny ganons spirit - -// 0 -R127f.x = mul_nonIEEE(R5f.x, R5f.x); -R123f.z = (mul_nonIEEE(R4f.w,R3f.x) + -(R0f.w)); -PV0f.z = R123f.z; -R127f.w = mul_nonIEEE(R5f.w, R5f.w); -// 1 -PV1f.y = mul_nonIEEE(R1f.w, PV0f.z); -PV1f.y = clamp(PV1f.y, 0.0, 1.0); -// 2 -backupReg0f = R127f.x; -R127f.x = mul_nonIEEE(backupReg0f, PV1f.y); -PV0f.y = PV1f.y; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -PV0f.w = mul_nonIEEE(R127f.w, PV1f.y); -// 3 -R123f.x = (mul_nonIEEE(R0f.z,PV0f.w) + intBitsToFloat(0x3d23d70a)); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R0f.y,PV0f.w) + intBitsToFloat(0x3c75c28f)); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R0f.x,PV0f.w) + intBitsToFloat(0x3c75c28f)); -PV1f.z = R123f.z; -PV1f.w = mul_nonIEEE(R2f.x, PV0f.y); -// 4 -R127f.y = (mul_nonIEEE(R1f.z,R127f.x) + PV1f.x); -PV0f.y = R127f.y; -R127f.z = (mul_nonIEEE(R1f.y,R127f.x) + PV1f.y); -PV0f.z = R127f.z; -R127f.w = (mul_nonIEEE(R1f.x,R127f.x) + PV1f.z); -PV0f.w = R127f.w; -R1f.w = mul_nonIEEE(R7f.w, PV1f.w); -PS0f = R1f.w; -// 5 -PV1f.x = -(PV0f.y) + intBitsToFloat(uf_remappedPS[0].z); -PV1f.y = -(PV0f.z) + intBitsToFloat(uf_remappedPS[0].y); -PV1f.z = -(PV0f.w) + intBitsToFloat(uf_remappedPS[0].x); -// 6 -backupReg0f = R127f.y; -backupReg1f = R127f.z; -backupReg2f = R127f.w; -R127f.y = (mul_nonIEEE(PV1f.x,R9f.y) + backupReg0f); -PV0f.y = R127f.y; -R127f.z = (mul_nonIEEE(PV1f.y,R9f.y) + backupReg1f); -PV0f.z = R127f.z; -R127f.w = (mul_nonIEEE(PV1f.z,R9f.y) + backupReg2f); -PV0f.w = R127f.w; - -// 7 -R8f = vec4(aurafog); // custom code to set fog to 0 ------------------------------<<<< -PV1f.x = R8f.x + -(PV0f.w); // R8f looks like to be the fog -PV1f.z = R8f.z + -(PV0f.y); // R8f looks like to be the fog -PV1f.w = R8f.y + -(PV0f.z); // R8f looks like to be the fog - -// 8 -backupReg0f = R127f.y; -R127f.x = (mul_nonIEEE(PV1f.w,R8f.w) + R127f.z); -PV0f.x = R127f.x; -R127f.y = (mul_nonIEEE(PV1f.x,R8f.w) + R127f.w); -PV0f.y = R127f.y; -R127f.w = (mul_nonIEEE(PV1f.z,R8f.w) + backupReg0f); -PV0f.w = R127f.w; -// 9 -PV1f.x = -(PV0f.w) + intBitsToFloat(uf_remappedPS[1].z); // blue rgb -PV1f.y = -(PV0f.x) + intBitsToFloat(uf_remappedPS[1].y); // green rgb -PV1f.z = -(PV0f.y) + intBitsToFloat(uf_remappedPS[1].x); // red rgb -// 10 -R1f.x = (mul_nonIEEE(PV1f.z,R9f.x) + R127f.y); // red rgb -R1f.y = (mul_nonIEEE(PV1f.y,R9f.x) + R127f.x); // green rgb -R1f.z = (mul_nonIEEE(PV1f.x,R9f.x) + R127f.w); // blue rgb -// export -if( ((vec4(R1f.x, R1f.y, R1f.z, R1f.w)).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(R1f.x * aurared, R1f.y * auragreen, R1f.z * aurablue, R1f.w * auraopacity); // rgb color and opacity for the middle swirl effect -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader 29c30aaa023dc7e6 -- Ganons middle and bottom big swirl +#define aurafog $aurafog +#define aurared $aurared +#define auragreen $auragreen +#define aurablue $aurablue +#define auraopacity $auraopacity + +#ifndef aurafog + #define aurafog 1 +#endif +#ifndef aurared + #define aurared 1 +#endif +#ifndef auragreen + #define auragreen 1 +#endif +#ifndef aurablue + #define aurablue 1 +#endif +#ifndef auraopacity + #define auraopacity 1 +#endif + +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20265000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x202df000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1bf70000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem4; +layout(location = 3) in vec4 passParameterSem5; +layout(location = 4) in vec4 passParameterSem7; +layout(location = 5) in vec4 passParameterSem8; +layout(location = 6) in vec4 passParameterSem9; +layout(location = 7) in vec4 passParameterSem14; +layout(location = 8) in vec4 passParameterSem15; +layout(location = 9) in vec4 passParameterSem16; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +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 R8f = vec4(0.0); +vec4 R9f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(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; +vec3 cubeMapSTM; +int cubeMapFaceId; + +R0f = passParameterSem0; +R1f = passParameterSem1; +R2f = passParameterSem4; +R3f = passParameterSem5; +R4f = passParameterSem7; +R5f = passParameterSem8; +R6f = passParameterSem9; +R7f = passParameterSem14; +R8f = passParameterSem15; +R9f = passParameterSem16; +R3f.xw = (texture(textureUnitPS0, R5f.xy).xw); + +// 0 +R123f.z = (R3f.w * 2.0 + -(1.0)); +PV0f.z = R123f.z; +R123f.w = (R3f.x * 2.0 + -(1.0)); +PV0f.w = R123f.w; +// 1 +PV1f.y = mul_nonIEEE(R2f.y, PV0f.w); +PV1f.w = mul_nonIEEE(R3f.y, PV0f.z); +// 2 +backupReg0f = R3f.z; +backupReg0f = R3f.z; +R3f.x = R5f.z + PV1f.y; +R3f.y = R5f.w + PV1f.w; +R3f.z = (mul_nonIEEE(backupReg0f,PV1f.y) + R6f.x); +R3f.w = (mul_nonIEEE(backupReg0f,PV1f.w) + R6f.y); +R3f.x = (texture(textureUnitPS1, R3f.xy).w); +R5f.xw = (texture(textureUnitPS2, R3f.zw).xw); // how shiny ganons spirit + +// 0 +R127f.x = mul_nonIEEE(R5f.x, R5f.x); +R123f.z = (mul_nonIEEE(R4f.w,R3f.x) + -(R0f.w)); +PV0f.z = R123f.z; +R127f.w = mul_nonIEEE(R5f.w, R5f.w); +// 1 +PV1f.y = mul_nonIEEE(R1f.w, PV0f.z); +PV1f.y = clamp(PV1f.y, 0.0, 1.0); +// 2 +backupReg0f = R127f.x; +R127f.x = mul_nonIEEE(backupReg0f, PV1f.y); +PV0f.y = PV1f.y; +PV0f.y = clamp(PV0f.y, 0.0, 1.0); +PV0f.w = mul_nonIEEE(R127f.w, PV1f.y); +// 3 +R123f.x = (mul_nonIEEE(R0f.z,PV0f.w) + intBitsToFloat(0x3d23d70a)); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(R0f.y,PV0f.w) + intBitsToFloat(0x3c75c28f)); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(R0f.x,PV0f.w) + intBitsToFloat(0x3c75c28f)); +PV1f.z = R123f.z; +PV1f.w = mul_nonIEEE(R2f.x, PV0f.y); +// 4 +R127f.y = (mul_nonIEEE(R1f.z,R127f.x) + PV1f.x); +PV0f.y = R127f.y; +R127f.z = (mul_nonIEEE(R1f.y,R127f.x) + PV1f.y); +PV0f.z = R127f.z; +R127f.w = (mul_nonIEEE(R1f.x,R127f.x) + PV1f.z); +PV0f.w = R127f.w; +R1f.w = mul_nonIEEE(R7f.w, PV1f.w); +PS0f = R1f.w; +// 5 +PV1f.x = -(PV0f.y) + intBitsToFloat(uf_remappedPS[0].z); +PV1f.y = -(PV0f.z) + intBitsToFloat(uf_remappedPS[0].y); +PV1f.z = -(PV0f.w) + intBitsToFloat(uf_remappedPS[0].x); +// 6 +backupReg0f = R127f.y; +backupReg1f = R127f.z; +backupReg2f = R127f.w; +R127f.y = (mul_nonIEEE(PV1f.x,R9f.y) + backupReg0f); +PV0f.y = R127f.y; +R127f.z = (mul_nonIEEE(PV1f.y,R9f.y) + backupReg1f); +PV0f.z = R127f.z; +R127f.w = (mul_nonIEEE(PV1f.z,R9f.y) + backupReg2f); +PV0f.w = R127f.w; + +// 7 +R8f = vec4(aurafog); // custom code to set fog to 0 ------------------------------<<<< +PV1f.x = R8f.x + -(PV0f.w); // R8f looks like to be the fog +PV1f.z = R8f.z + -(PV0f.y); // R8f looks like to be the fog +PV1f.w = R8f.y + -(PV0f.z); // R8f looks like to be the fog + +// 8 +backupReg0f = R127f.y; +R127f.x = (mul_nonIEEE(PV1f.w,R8f.w) + R127f.z); +PV0f.x = R127f.x; +R127f.y = (mul_nonIEEE(PV1f.x,R8f.w) + R127f.w); +PV0f.y = R127f.y; +R127f.w = (mul_nonIEEE(PV1f.z,R8f.w) + backupReg0f); +PV0f.w = R127f.w; +// 9 +PV1f.x = -(PV0f.w) + intBitsToFloat(uf_remappedPS[1].z); // blue rgb +PV1f.y = -(PV0f.x) + intBitsToFloat(uf_remappedPS[1].y); // green rgb +PV1f.z = -(PV0f.y) + intBitsToFloat(uf_remappedPS[1].x); // red rgb +// 10 +R1f.x = (mul_nonIEEE(PV1f.z,R9f.x) + R127f.y); // red rgb +R1f.y = (mul_nonIEEE(PV1f.y,R9f.x) + R127f.x); // green rgb +R1f.z = (mul_nonIEEE(PV1f.x,R9f.x) + R127f.w); // blue rgb +// export +if( ((vec4(R1f.x, R1f.y, R1f.z, R1f.w)).a > uf_alphaTestRef) == false) discard; +passPixelColor0 = vec4(R1f.x * aurared, R1f.y * auragreen, R1f.z * aurablue, R1f.w * auraopacity); // rgb color and opacity for the middle swirl effect +} diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt similarity index 97% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt index d500d886..ad2bb843 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/397f3d8521c96e30_0000000000000709_ps.txt @@ -1,203 +1,203 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader 397f3d8521c96e30 -- ganons castle swirl shader -#define aurafog $aurafog -#define aurared $aurared -#define auragreen $auragreen -#define aurablue $aurablue -#define auraopacity $auraopacity - -#ifndef aurafog - #define aurafog 1 -#endif -#ifndef aurared - #define aurared 1 -#endif -#ifndef auragreen - #define auragreen 1 -#endif -#ifndef aurablue - #define aurablue 1 -#endif -#ifndef auraopacity - #define auraopacity 1 -#endif - -uniform ivec4 uf_remappedPS[3]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20265000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x202df000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1bf70000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem4; -layout(location = 3) in vec4 passParameterSem5; -layout(location = 4) in vec4 passParameterSem7; -layout(location = 5) in vec4 passParameterSem8; -layout(location = 6) in vec4 passParameterSem9; -layout(location = 7) in vec4 passParameterSem12; -layout(location = 8) in vec4 passParameterSem14; -layout(location = 9) in vec4 passParameterSem15; -layout(location = 10) in vec4 passParameterSem16; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -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 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(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; -vec3 cubeMapSTM; -int cubeMapFaceId; - -R0f = passParameterSem0; -R1f = passParameterSem1; -R2f = passParameterSem4; -R3f = passParameterSem5; -R4f = passParameterSem7; -R5f = passParameterSem8; -R6f = passParameterSem9; -R7f = passParameterSem12; -R8f = passParameterSem14; -R9f = passParameterSem15; -R10f = passParameterSem16; -R3f.xw = (texture(textureUnitPS0, R5f.xy).xw); - -// 0 -R123f.x = (R3f.x * 2.0 + -(1.0)); -PV0f.x = R123f.x; -PV0f.y = 1.0; -R123f.w = (R3f.w * 2.0 + -(1.0)); -PV0f.w = R123f.w; -// 1 -PV1f.x = mul_nonIEEE(PV0f.y, intBitsToFloat(uf_remappedPS[0].w)); -PV1f.y = mul_nonIEEE(R3f.y, PV0f.w); -PV1f.z = mul_nonIEEE(R2f.y, PV0f.x); -// 2 -R3f.x = (mul_nonIEEE(R3f.z,PV1f.z) + R6f.x); -R3f.y = (mul_nonIEEE(R3f.z,PV1f.y) + R6f.y); -R3f.z = R5f.z + PV1f.z; -R3f.w = R5f.w + PV1f.y; -R5f.x = (mul_nonIEEE(R7f.z,intBitsToFloat(uf_remappedPS[0].z)) + PV1f.x); -PS0f = R5f.x; -R6f.xw = (texture(textureUnitPS2, R3f.xy).xw); // how shiny ganons spirit -R3f.x = (texture(textureUnitPS1, R3f.zw).w); -// 0 -tempf.x = dot(vec4(R7f.x,R7f.y,R5f.x,0.0),vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),1.0,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -PS0f = mul_nonIEEE(R6f.w, R6f.w); -// 1 -PV1f.x = mul_nonIEEE(R6f.x, R6f.x); -R127f.y = mul_nonIEEE(R4f.w, R3f.x); -PV1f.y = R127f.y; -PV1f.z = mul_nonIEEE(R4f.w, PS0f); -PV1f.w = -(PV0f.x) + intBitsToFloat(0xc2c80000); -// 2 -R127f.x = mul_nonIEEE(PV1f.z, PV1f.y); -R126f.y = -(R0f.w) + PV1f.y; -R126f.y = clamp(R126f.y, 0.0, 1.0); -R127f.z = PV1f.w * intBitsToFloat(0x3ba3d70a); -R127f.z = clamp(R127f.z, 0.0, 1.0); -PV0f.z = R127f.z; -PV0f.w = mul_nonIEEE(R4f.w, PV1f.x); -// 3 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -PV1f.x = mul_nonIEEE(R0f.z, PV0f.z); -PV1f.y = mul_nonIEEE(backupReg0f, PV0f.z); -PV1f.z = mul_nonIEEE(backupReg1f, PV0f.z); -R126f.w = mul_nonIEEE(PV0f.w, R127f.y); -R127f.w = mul_nonIEEE(R1f.x, PV0f.z); -PS1f = R127f.w; -// 4 -R123f.x = (mul_nonIEEE(PV1f.x,R127f.x) + intBitsToFloat(0x3d23d70a)); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(PV1f.z,R127f.x) + intBitsToFloat(0x3c75c28f)); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(PV1f.y,R127f.x) + intBitsToFloat(0x3c75c28f)); -PV0f.z = R123f.z; -PV0f.w = mul_nonIEEE(R1f.y, R127f.z); -PS0f = mul_nonIEEE(R1f.z, R127f.z); -// 5 -R127f.x = (mul_nonIEEE(R126f.w,R127f.w) + PV0f.z); -PV1f.x = R127f.x; -PV1f.y = mul_nonIEEE(R1f.w, R126f.y); -PV1f.y = clamp(PV1f.y, 0.0, 1.0); -R127f.z = (mul_nonIEEE(R126f.w,PS0f) + PV0f.x); -PV1f.z = R127f.z; -R127f.w = (mul_nonIEEE(R126f.w,PV0f.w) + PV0f.y); -PV1f.w = R127f.w; -// 6 -PV0f.x = -(PV1f.z) + intBitsToFloat(uf_remappedPS[1].z); -PV0f.y = -(PV1f.w) + intBitsToFloat(uf_remappedPS[1].y); -PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[1].x); -PV0f.w = mul_nonIEEE(R2f.x, PV1f.y); -// 7 -backupReg0f = R8f.w; -R126f.y = (mul_nonIEEE(PV0f.x,R10f.y) + R127f.z); -PV1f.y = R126f.y; -R127f.z = (mul_nonIEEE(PV0f.y,R10f.y) + R127f.w); -PV1f.z = R127f.z; -R127f.w = (mul_nonIEEE(PV0f.z,R10f.y) + R127f.x); -PV1f.w = R127f.w; -R8f.w = mul_nonIEEE(backupReg0f, PV0f.w); -PS1f = R8f.w; - -// 8 -R9f = vec4(aurafog); // custom code - reinitilize the vector to set fog to 0 ------------------------------<<<< -PV0f.x = R9f.x + -(PV1f.w); // R9f looks like to be the fog -PV0f.z = R9f.z + -(PV1f.y); // R9f looks like to be the fog -PV0f.w = R9f.y + -(PV1f.z); // R9f looks like to be the fog - -// 9 -backupReg0f = R126f.y; -R127f.x = (mul_nonIEEE(PV0f.w,R9f.w) + R127f.z); -PV1f.x = R127f.x; -R126f.y = (mul_nonIEEE(PV0f.x,R9f.w) + R127f.w); -PV1f.y = R126f.y; -R127f.w = (mul_nonIEEE(PV0f.z,R9f.w) + backupReg0f); -PV1f.w = R127f.w; -// 10 -PV0f.x = -(PV1f.w) + intBitsToFloat(uf_remappedPS[2].z); -PV0f.y = -(PV1f.x) + intBitsToFloat(uf_remappedPS[2].y); -PV0f.z = -(PV1f.y) + intBitsToFloat(uf_remappedPS[2].x); -// 11 -R8f.x = (mul_nonIEEE(PV0f.z,R10f.x) + R126f.y); -R8f.y = (mul_nonIEEE(PV0f.y,R10f.x) + R127f.x); -R8f.z = (mul_nonIEEE(PV0f.x,R10f.x) + R127f.w); -// export -if( ((vec4(R8f.x, R8f.y, R8f.z, R8f.w)).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(R8f.x * aurared, R8f.y * auragreen, R8f.z * aurablue, R8f.w * auraopacity); // rgb color for the top swirls effect -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader 397f3d8521c96e30 -- ganons castle swirl shader +#define aurafog $aurafog +#define aurared $aurared +#define auragreen $auragreen +#define aurablue $aurablue +#define auraopacity $auraopacity + +#ifndef aurafog + #define aurafog 1 +#endif +#ifndef aurared + #define aurared 1 +#endif +#ifndef auragreen + #define auragreen 1 +#endif +#ifndef aurablue + #define aurablue 1 +#endif +#ifndef auraopacity + #define auraopacity 1 +#endif + +uniform ivec4 uf_remappedPS[3]; +uniform float uf_alphaTestRef; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20265000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x202df000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1bf70000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem4; +layout(location = 3) in vec4 passParameterSem5; +layout(location = 4) in vec4 passParameterSem7; +layout(location = 5) in vec4 passParameterSem8; +layout(location = 6) in vec4 passParameterSem9; +layout(location = 7) in vec4 passParameterSem12; +layout(location = 8) in vec4 passParameterSem14; +layout(location = 9) in vec4 passParameterSem15; +layout(location = 10) in vec4 passParameterSem16; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +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 R8f = vec4(0.0); +vec4 R9f = vec4(0.0); +vec4 R10f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(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; +vec3 cubeMapSTM; +int cubeMapFaceId; + +R0f = passParameterSem0; +R1f = passParameterSem1; +R2f = passParameterSem4; +R3f = passParameterSem5; +R4f = passParameterSem7; +R5f = passParameterSem8; +R6f = passParameterSem9; +R7f = passParameterSem12; +R8f = passParameterSem14; +R9f = passParameterSem15; +R10f = passParameterSem16; +R3f.xw = (texture(textureUnitPS0, R5f.xy).xw); + +// 0 +R123f.x = (R3f.x * 2.0 + -(1.0)); +PV0f.x = R123f.x; +PV0f.y = 1.0; +R123f.w = (R3f.w * 2.0 + -(1.0)); +PV0f.w = R123f.w; +// 1 +PV1f.x = mul_nonIEEE(PV0f.y, intBitsToFloat(uf_remappedPS[0].w)); +PV1f.y = mul_nonIEEE(R3f.y, PV0f.w); +PV1f.z = mul_nonIEEE(R2f.y, PV0f.x); +// 2 +R3f.x = (mul_nonIEEE(R3f.z,PV1f.z) + R6f.x); +R3f.y = (mul_nonIEEE(R3f.z,PV1f.y) + R6f.y); +R3f.z = R5f.z + PV1f.z; +R3f.w = R5f.w + PV1f.y; +R5f.x = (mul_nonIEEE(R7f.z,intBitsToFloat(uf_remappedPS[0].z)) + PV1f.x); +PS0f = R5f.x; +R6f.xw = (texture(textureUnitPS2, R3f.xy).xw); // how shiny ganons spirit +R3f.x = (texture(textureUnitPS1, R3f.zw).w); +// 0 +tempf.x = dot(vec4(R7f.x,R7f.y,R5f.x,0.0),vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),1.0,0.0)); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +PS0f = mul_nonIEEE(R6f.w, R6f.w); +// 1 +PV1f.x = mul_nonIEEE(R6f.x, R6f.x); +R127f.y = mul_nonIEEE(R4f.w, R3f.x); +PV1f.y = R127f.y; +PV1f.z = mul_nonIEEE(R4f.w, PS0f); +PV1f.w = -(PV0f.x) + intBitsToFloat(0xc2c80000); +// 2 +R127f.x = mul_nonIEEE(PV1f.z, PV1f.y); +R126f.y = -(R0f.w) + PV1f.y; +R126f.y = clamp(R126f.y, 0.0, 1.0); +R127f.z = PV1f.w * intBitsToFloat(0x3ba3d70a); +R127f.z = clamp(R127f.z, 0.0, 1.0); +PV0f.z = R127f.z; +PV0f.w = mul_nonIEEE(R4f.w, PV1f.x); +// 3 +backupReg0f = R0f.x; +backupReg1f = R0f.y; +PV1f.x = mul_nonIEEE(R0f.z, PV0f.z); +PV1f.y = mul_nonIEEE(backupReg0f, PV0f.z); +PV1f.z = mul_nonIEEE(backupReg1f, PV0f.z); +R126f.w = mul_nonIEEE(PV0f.w, R127f.y); +R127f.w = mul_nonIEEE(R1f.x, PV0f.z); +PS1f = R127f.w; +// 4 +R123f.x = (mul_nonIEEE(PV1f.x,R127f.x) + intBitsToFloat(0x3d23d70a)); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(PV1f.z,R127f.x) + intBitsToFloat(0x3c75c28f)); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(PV1f.y,R127f.x) + intBitsToFloat(0x3c75c28f)); +PV0f.z = R123f.z; +PV0f.w = mul_nonIEEE(R1f.y, R127f.z); +PS0f = mul_nonIEEE(R1f.z, R127f.z); +// 5 +R127f.x = (mul_nonIEEE(R126f.w,R127f.w) + PV0f.z); +PV1f.x = R127f.x; +PV1f.y = mul_nonIEEE(R1f.w, R126f.y); +PV1f.y = clamp(PV1f.y, 0.0, 1.0); +R127f.z = (mul_nonIEEE(R126f.w,PS0f) + PV0f.x); +PV1f.z = R127f.z; +R127f.w = (mul_nonIEEE(R126f.w,PV0f.w) + PV0f.y); +PV1f.w = R127f.w; +// 6 +PV0f.x = -(PV1f.z) + intBitsToFloat(uf_remappedPS[1].z); +PV0f.y = -(PV1f.w) + intBitsToFloat(uf_remappedPS[1].y); +PV0f.z = -(PV1f.x) + intBitsToFloat(uf_remappedPS[1].x); +PV0f.w = mul_nonIEEE(R2f.x, PV1f.y); +// 7 +backupReg0f = R8f.w; +R126f.y = (mul_nonIEEE(PV0f.x,R10f.y) + R127f.z); +PV1f.y = R126f.y; +R127f.z = (mul_nonIEEE(PV0f.y,R10f.y) + R127f.w); +PV1f.z = R127f.z; +R127f.w = (mul_nonIEEE(PV0f.z,R10f.y) + R127f.x); +PV1f.w = R127f.w; +R8f.w = mul_nonIEEE(backupReg0f, PV0f.w); +PS1f = R8f.w; + +// 8 +R9f = vec4(aurafog); // custom code - reinitilize the vector to set fog to 0 ------------------------------<<<< +PV0f.x = R9f.x + -(PV1f.w); // R9f looks like to be the fog +PV0f.z = R9f.z + -(PV1f.y); // R9f looks like to be the fog +PV0f.w = R9f.y + -(PV1f.z); // R9f looks like to be the fog + +// 9 +backupReg0f = R126f.y; +R127f.x = (mul_nonIEEE(PV0f.w,R9f.w) + R127f.z); +PV1f.x = R127f.x; +R126f.y = (mul_nonIEEE(PV0f.x,R9f.w) + R127f.w); +PV1f.y = R126f.y; +R127f.w = (mul_nonIEEE(PV0f.z,R9f.w) + backupReg0f); +PV1f.w = R127f.w; +// 10 +PV0f.x = -(PV1f.w) + intBitsToFloat(uf_remappedPS[2].z); +PV0f.y = -(PV1f.x) + intBitsToFloat(uf_remappedPS[2].y); +PV0f.z = -(PV1f.y) + intBitsToFloat(uf_remappedPS[2].x); +// 11 +R8f.x = (mul_nonIEEE(PV0f.z,R10f.x) + R126f.y); +R8f.y = (mul_nonIEEE(PV0f.y,R10f.x) + R127f.x); +R8f.z = (mul_nonIEEE(PV0f.x,R10f.x) + R127f.w); +// export +if( ((vec4(R8f.x, R8f.y, R8f.z, R8f.w)).a > uf_alphaTestRef) == false) discard; +passPixelColor0 = vec4(R8f.x * aurared, R8f.y * auragreen, R8f.z * aurablue, R8f.w * auraopacity); // rgb color for the top swirls effect +} diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/ReadMe.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/ReadMe.txt similarity index 89% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/ReadMe.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/ReadMe.txt index 6bb7e542..d867825c 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/ReadMe.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/ReadMe.txt @@ -1,24 +1,24 @@ -# Information -# by SkalFate -# ---------------------- - -Example Preset : - -// Changing it here doesn't do anything, this is for demonstration. Change it in rules.txt file instead. - -[Preset] -name = Custom Preset -$aurared = 1 -$auragreen = 1 -$aurablue = 1 -$auraopacity = 1 - - -# (aurafog) -- Fog over Ganons Aura. -# ------------ 0 = disabled , 1 = Enabled - -# (auraopacity) -- How opaque do you want the color strenght to be. -# ---------------- 0 = Transparent , Values from 1x to 100x - -# (aurared, auragreen, aurablue ) = RGB - Red, Green, Blue - allows for chaning the color of the Aura. +# Information +# by SkalFate +# ---------------------- + +Example Preset : + +// Changing it here doesn't do anything, this is for demonstration. Change it in rules.txt file instead. + +[Preset] +name = Custom Preset +$aurared = 1 +$auragreen = 1 +$aurablue = 1 +$auraopacity = 1 + + +# (aurafog) -- Fog over Ganons Aura. +# ------------ 0 = disabled , 1 = Enabled + +# (auraopacity) -- How opaque do you want the color strenght to be. +# ---------------- 0 = Transparent , Values from 1x to 100x + +# (aurared, auragreen, aurablue ) = RGB - Red, Green, Blue - allows for chaning the color of the Aura. # ------ Values are multiplied so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt similarity index 88% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt index b0a6bf13..fdad982a 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleAura/rules.txt @@ -1,132 +1,132 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = Castle Ganons Aura Pack -path = "The Legend of Zelda: Breath of the Wild/Enhancements/Distant Fog Removal/Hyrule Castle Ganons Aura" -description = Can Remove the Fog on Ganons Aura on Hyrule castle. Change its RGB color. -version = 3 - - -[Preset] -name = Ganons Aura Fog Disabled -$aurafog = 0 -$aurared = 1 -$auragreen = 1 -$aurablue = 1 -$auraopacity = 1 - -[Preset] -name = Ganons Aura Fog 10% -$aurafog = 0.1 -$aurared = 1 -$auragreen = 1 -$aurablue = 1 -$auraopacity = 1 - -[Preset] -name = Ganons Aura Fog 30% -$aurafog = 0.3 -$aurared = 1 -$auragreen = 1 -$aurablue = 1 -$auraopacity = 1 - -[Preset] -name = Ganons Aura Fog Enabled -$aurafog = 1 -$aurared = 1 -$auragreen = 1 -$aurablue = 1 -$auraopacity = 1 - -[Preset] -name = ---------------------------------------- -$aurafog = 1 -$aurared = 1 -$auragreen = 1 -$aurablue = 1 -$auraopacity = 1 - -[Preset] -name = Ganons Aura Opacity 3x -$aurafog = 0 -$aurared = 1 -$auragreen = 1 -$aurablue = 1 -$auraopacity = 3 - -[Preset] -name = ---------------------------------------- -$aurafog = 1 -$aurared = 1 -$auragreen = 1 -$aurablue = 1 -$auraopacity = 1 - -[Preset] -name = Ganons Aura Black -$aurafog = 0 -$aurared = 0 -$auragreen = 0 -$aurablue = 0 -$auraopacity = 1 - -[Preset] -name = Ganons Aura Navy -$aurafog = 0 -$aurared = 0 -$auragreen = 0 -$aurablue = 0.5 -$auraopacity = 1 - -[Preset] -name = Ganons Aura Red -$aurafog = 0 -$aurared = 1 -$auragreen = 0 -$aurablue = 0 -$auraopacity = 1 - -[Preset] -name = Ganons Aura Green -$aurafog = 0 -$aurared = 0 -$auragreen = 1 -$aurablue = 0 -$auraopacity = 1 - -[Preset] -name = Ganons Aura Blue -$aurafog = 0 -$aurared = 0 -$auragreen = 0 -$aurablue = 1 -$auraopacity = 1 - -[Preset] -name = ---------------------------------------- -$aurafog = 0 -$aurared = 1 -$auragreen = 1 -$aurablue = 1 -$auraopacity = 1 - -[Preset] -name = Custom Preset -$aurafog = 0 -$aurared = 2 -$auragreen = 1 -$aurablue = 2 -$auraopacity = 1 - -# Information -# by SkalFate -# ---------------------- - -# (aurafog) -- Fog over Ganons Aura. -# ------------ 0 = disabled , 1 = Enabled - -# (auraopacity) -- How opaque do you want the color strenght to be. -# ---------------- 0 = Transparent , Values from 1x to 100x - -# (aurared, auragreen, aurablue ) = RGB - Red, Green, Blue - allows for chaning the color of the Aura. +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Castle Ganons Aura Pack +path = "The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/Hyrule Castle Ganons Aura" +description = Can Remove the Fog on Ganons Aura on Hyrule castle. Change its RGB color. +version = 3 + + +[Preset] +name = Ganons Aura Fog Disabled +$aurafog = 0 +$aurared = 1 +$auragreen = 1 +$aurablue = 1 +$auraopacity = 1 + +[Preset] +name = Ganons Aura Fog 10% +$aurafog = 0.1 +$aurared = 1 +$auragreen = 1 +$aurablue = 1 +$auraopacity = 1 + +[Preset] +name = Ganons Aura Fog 30% +$aurafog = 0.3 +$aurared = 1 +$auragreen = 1 +$aurablue = 1 +$auraopacity = 1 + +[Preset] +name = Ganons Aura Fog Enabled +$aurafog = 1 +$aurared = 1 +$auragreen = 1 +$aurablue = 1 +$auraopacity = 1 + +[Preset] +name = ---------------------------------------- +$aurafog = 1 +$aurared = 1 +$auragreen = 1 +$aurablue = 1 +$auraopacity = 1 + +[Preset] +name = Ganons Aura Opacity 3x +$aurafog = 0 +$aurared = 1 +$auragreen = 1 +$aurablue = 1 +$auraopacity = 3 + +[Preset] +name = ---------------------------------------- +$aurafog = 1 +$aurared = 1 +$auragreen = 1 +$aurablue = 1 +$auraopacity = 1 + +[Preset] +name = Ganons Aura Black +$aurafog = 0 +$aurared = 0 +$auragreen = 0 +$aurablue = 0 +$auraopacity = 1 + +[Preset] +name = Ganons Aura Navy +$aurafog = 0 +$aurared = 0 +$auragreen = 0 +$aurablue = 0.5 +$auraopacity = 1 + +[Preset] +name = Ganons Aura Red +$aurafog = 0 +$aurared = 1 +$auragreen = 0 +$aurablue = 0 +$auraopacity = 1 + +[Preset] +name = Ganons Aura Green +$aurafog = 0 +$aurared = 0 +$auragreen = 1 +$aurablue = 0 +$auraopacity = 1 + +[Preset] +name = Ganons Aura Blue +$aurafog = 0 +$aurared = 0 +$auragreen = 0 +$aurablue = 1 +$auraopacity = 1 + +[Preset] +name = ---------------------------------------- +$aurafog = 0 +$aurared = 1 +$auragreen = 1 +$aurablue = 1 +$auraopacity = 1 + +[Preset] +name = Custom Preset +$aurafog = 0 +$aurared = 2 +$auragreen = 1 +$aurablue = 2 +$auraopacity = 1 + +# Information +# by SkalFate +# ---------------------- + +# (aurafog) -- Fog over Ganons Aura. +# ------------ 0 = disabled , 1 = Enabled + +# (auraopacity) -- How opaque do you want the color strenght to be. +# ---------------- 0 = Transparent , Values from 1x to 100x + +# (aurared, auragreen, aurablue ) = RGB - Red, Green, Blue - allows for chaning the color of the Aura. # ------ Values are multiplied so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt similarity index 96% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt index ff2d2e6b..9ae3f4e5 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/699b238ae15d113b_00000000000000e1_ps.txt @@ -1,189 +1,189 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader 699b238ae15d113b -- Ganons Castle Moat Fog Fragment Shader -#define basefogred $basefogred -#define basefoggreen $basefoggreen -#define basefogblue $basefogblue -#define basefogopacity $basefogopacity - -#ifndef basefogred - #define basefogred 1 -#endif -#ifndef basefoggreen - #define basefoggreen 1 -#endif -#ifndef basefogblue - #define basefogblue 1 -#endif -#ifndef basefogopacity - #define basefogopacity 1 -#endif - -uniform ivec4 uf_remappedPS[5]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2003b000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 2) in vec4 passParameterSem3; -layout(location = 3) in vec4 passParameterSem4; -layout(location = 4) in vec4 passParameterSem7; -layout(location = 5) in vec4 passParameterSem8; -layout(location = 6) in vec4 passParameterSem11; -layout(location = 7) in vec4 passParameterSem14; -layout(location = 8) in vec4 passParameterSem15; -layout(location = 9) in vec4 passParameterSem16; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -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 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(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; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R1f = passParameterSem2; -R2f = passParameterSem3; -R3f = passParameterSem4; -R4f = passParameterSem7; -R5f = passParameterSem8; -R6f = passParameterSem11; -R7f = passParameterSem14; -R8f = passParameterSem15; -R9f = passParameterSem16; -R1f.w = (texture(textureUnitPS0, R5f.xy).w); -// 0 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,-0.0),vec4(R1f.x,R1f.y,R1f.z,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -PS0f = 1.0 / R2f.w; -// 1 -R5f.x = mul_nonIEEE(R2f.x, PS0f); -R5f.y = mul_nonIEEE(R2f.y, PS0f); -R3f.z = -(intBitsToFloat(uf_remappedPS[0].z)) + intBitsToFloat(uf_remappedPS[0].w); -R3f.w = mul_nonIEEE(R0f.x, R4f.x); -PV1f.w = R3f.w; -PS1f = 1.0 / R2f.w; -// 2 -R2f.x = R2f.z * PS1f; -R2f.y = mul_nonIEEE(R0f.y, R4f.y); -R5f.z = -(PV1f.w) + intBitsToFloat(uf_remappedPS[1].x); -R2f.w = mul_nonIEEE(R4f.w, R1f.w); -tempResultf = 1.0 / sqrt(R127f.z); -R1f.w = tempResultf; -PS0f = R1f.w; -R2f.z = (texture(textureUnitPS4, R5f.xy).x); -// 0 -backupReg0f = R0f.z; -PV0f.x = mul_nonIEEE(R1f.x, R1f.w); -PV0f.y = mul_nonIEEE(R1f.y, R1f.w); -PV0f.z = mul_nonIEEE(R1f.z, R1f.w); -R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[2].w)) + -(intBitsToFloat(uf_remappedPS[2].y))); -PV0f.w = R123f.w; -R1f.x = mul_nonIEEE(backupReg0f, R4f.z); -PS0f = R1f.x; -// 1 -tempf.x = dot(vec4(R6f.x,R6f.y,R6f.z,-0.0),vec4(PV0f.x,PV0f.y,PV0f.z,0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -PS1f = 1.0 / PV0f.w; -// 2 -PV0f.x = max(PV1f.x, -(PV1f.x)); -PV0f.y = -(intBitsToFloat(uf_remappedPS[2].z)) * PS1f; -R127f.z = mul_nonIEEE(R0f.w, R2f.w); -R127f.z = clamp(R127f.z, 0.0, 1.0); -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R2f.z) + intBitsToFloat(uf_remappedPS[2].x)); -PV0f.w = R123f.w; -R127f.y = 1.0 / R3f.z; -PS0f = R127f.y; -// 3 -R127f.x = (mul_nonIEEE(R5f.z,R9f.y) + R3f.w); -PV1f.x = R127f.x; -PV1f.z = -(PV0f.y) + PV0f.w; -PV1f.w = PV0f.x + -(intBitsToFloat(uf_remappedPS[0].z)); -PS1f = 1.0 / intBitsToFloat(uf_remappedPS[3].y); -// 4 -PV0f.x = PV1f.w * R127f.y; -PV0f.x = clamp(PV0f.x, 0.0, 1.0); -PV0f.y = PV1f.z * PS1f; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -PV0f.z = R8f.x + -(PV1f.x); -// 5 -backupReg0f = R127f.x; -R127f.x = mul_nonIEEE(R127f.z, PV0f.y); -R0f.y = (mul_nonIEEE(PV0f.z,R8f.w) + backupReg0f); -R123f.z = (intBitsToFloat(0xc0000000) * PV0f.x + intBitsToFloat(0x40400000)); -PV1f.z = R123f.z; -PV1f.w = mul_nonIEEE(PV0f.x, PV0f.x); -// 6 -PV0f.y = mul_nonIEEE(PV1f.w, PV1f.z); -// 7 -PV1f.x = mul_nonIEEE(R127f.x, PV0f.y); -// 8 -PV0f.w = mul_nonIEEE(R3f.x, PV1f.x); -// 9 -backupReg0f = R7f.w; -R7f.w = mul_nonIEEE(backupReg0f, PV0f.w); -// 0 -PV0f.x = -(R1f.x) + intBitsToFloat(uf_remappedPS[1].z); -PV0f.y = -(R2f.y) + intBitsToFloat(uf_remappedPS[1].y); -// 1 -PV1f.x = -(R0f.y) + intBitsToFloat(uf_remappedPS[4].x); -R127f.y = (mul_nonIEEE(PV0f.x,R9f.y) + R1f.x); -PV1f.y = R127f.y; -R127f.z = (mul_nonIEEE(PV0f.y,R9f.y) + R2f.y); -PV1f.z = R127f.z; -// 2 -R7f.x = (mul_nonIEEE(PV1f.x,R9f.x) + R0f.y); -PV0f.z = R8f.z + -(PV1f.y); -PV0f.w = R8f.y + -(PV1f.z); -// 3 -R127f.x = (mul_nonIEEE(PV0f.w,R8f.w) + R127f.z); -PV1f.x = R127f.x; -R127f.w = (mul_nonIEEE(PV0f.z,R8f.w) + R127f.y); -PV1f.w = R127f.w; -// 4 -PV0f.x = -(PV1f.w) + intBitsToFloat(uf_remappedPS[4].z); -PV0f.y = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].y); -// 5 -R7f.y = (mul_nonIEEE(PV0f.y,R9f.x) + R127f.x); -R7f.z = (mul_nonIEEE(PV0f.x,R9f.x) + R127f.w); - -// export -if( ((vec4(R7f.x, R7f.y, R7f.z, R7f.w)).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(R7f.x * basefogred, R7f.y * basefoggreen, R7f.z * basefogblue, R7f.w * basefogopacity); // rgb and opacity -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader 699b238ae15d113b -- Ganons Castle Moat Fog Fragment Shader +#define basefogred $basefogred +#define basefoggreen $basefoggreen +#define basefogblue $basefogblue +#define basefogopacity $basefogopacity + +#ifndef basefogred + #define basefogred 1 +#endif +#ifndef basefoggreen + #define basefoggreen 1 +#endif +#ifndef basefogblue + #define basefogblue 1 +#endif +#ifndef basefogopacity + #define basefogopacity 1 +#endif + +uniform ivec4 uf_remappedPS[5]; +uniform float uf_alphaTestRef; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2003b000 res 4x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 2) in vec4 passParameterSem3; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem7; +layout(location = 5) in vec4 passParameterSem8; +layout(location = 6) in vec4 passParameterSem11; +layout(location = 7) in vec4 passParameterSem14; +layout(location = 8) in vec4 passParameterSem15; +layout(location = 9) in vec4 passParameterSem16; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +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 R8f = vec4(0.0); +vec4 R9f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(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; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R1f = passParameterSem2; +R2f = passParameterSem3; +R3f = passParameterSem4; +R4f = passParameterSem7; +R5f = passParameterSem8; +R6f = passParameterSem11; +R7f = passParameterSem14; +R8f = passParameterSem15; +R9f = passParameterSem16; +R1f.w = (texture(textureUnitPS0, R5f.xy).w); +// 0 +tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,-0.0),vec4(R1f.x,R1f.y,R1f.z,0.0)); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.z = tempf.x; +PS0f = 1.0 / R2f.w; +// 1 +R5f.x = mul_nonIEEE(R2f.x, PS0f); +R5f.y = mul_nonIEEE(R2f.y, PS0f); +R3f.z = -(intBitsToFloat(uf_remappedPS[0].z)) + intBitsToFloat(uf_remappedPS[0].w); +R3f.w = mul_nonIEEE(R0f.x, R4f.x); +PV1f.w = R3f.w; +PS1f = 1.0 / R2f.w; +// 2 +R2f.x = R2f.z * PS1f; +R2f.y = mul_nonIEEE(R0f.y, R4f.y); +R5f.z = -(PV1f.w) + intBitsToFloat(uf_remappedPS[1].x); +R2f.w = mul_nonIEEE(R4f.w, R1f.w); +tempResultf = 1.0 / sqrt(R127f.z); +R1f.w = tempResultf; +PS0f = R1f.w; +R2f.z = (texture(textureUnitPS4, R5f.xy).x); +// 0 +backupReg0f = R0f.z; +PV0f.x = mul_nonIEEE(R1f.x, R1f.w); +PV0f.y = mul_nonIEEE(R1f.y, R1f.w); +PV0f.z = mul_nonIEEE(R1f.z, R1f.w); +R123f.w = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[2].w)) + -(intBitsToFloat(uf_remappedPS[2].y))); +PV0f.w = R123f.w; +R1f.x = mul_nonIEEE(backupReg0f, R4f.z); +PS0f = R1f.x; +// 1 +tempf.x = dot(vec4(R6f.x,R6f.y,R6f.z,-0.0),vec4(PV0f.x,PV0f.y,PV0f.z,0.0)); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +PS1f = 1.0 / PV0f.w; +// 2 +PV0f.x = max(PV1f.x, -(PV1f.x)); +PV0f.y = -(intBitsToFloat(uf_remappedPS[2].z)) * PS1f; +R127f.z = mul_nonIEEE(R0f.w, R2f.w); +R127f.z = clamp(R127f.z, 0.0, 1.0); +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R2f.z) + intBitsToFloat(uf_remappedPS[2].x)); +PV0f.w = R123f.w; +R127f.y = 1.0 / R3f.z; +PS0f = R127f.y; +// 3 +R127f.x = (mul_nonIEEE(R5f.z,R9f.y) + R3f.w); +PV1f.x = R127f.x; +PV1f.z = -(PV0f.y) + PV0f.w; +PV1f.w = PV0f.x + -(intBitsToFloat(uf_remappedPS[0].z)); +PS1f = 1.0 / intBitsToFloat(uf_remappedPS[3].y); +// 4 +PV0f.x = PV1f.w * R127f.y; +PV0f.x = clamp(PV0f.x, 0.0, 1.0); +PV0f.y = PV1f.z * PS1f; +PV0f.y = clamp(PV0f.y, 0.0, 1.0); +PV0f.z = R8f.x + -(PV1f.x); +// 5 +backupReg0f = R127f.x; +R127f.x = mul_nonIEEE(R127f.z, PV0f.y); +R0f.y = (mul_nonIEEE(PV0f.z,R8f.w) + backupReg0f); +R123f.z = (intBitsToFloat(0xc0000000) * PV0f.x + intBitsToFloat(0x40400000)); +PV1f.z = R123f.z; +PV1f.w = mul_nonIEEE(PV0f.x, PV0f.x); +// 6 +PV0f.y = mul_nonIEEE(PV1f.w, PV1f.z); +// 7 +PV1f.x = mul_nonIEEE(R127f.x, PV0f.y); +// 8 +PV0f.w = mul_nonIEEE(R3f.x, PV1f.x); +// 9 +backupReg0f = R7f.w; +R7f.w = mul_nonIEEE(backupReg0f, PV0f.w); +// 0 +PV0f.x = -(R1f.x) + intBitsToFloat(uf_remappedPS[1].z); +PV0f.y = -(R2f.y) + intBitsToFloat(uf_remappedPS[1].y); +// 1 +PV1f.x = -(R0f.y) + intBitsToFloat(uf_remappedPS[4].x); +R127f.y = (mul_nonIEEE(PV0f.x,R9f.y) + R1f.x); +PV1f.y = R127f.y; +R127f.z = (mul_nonIEEE(PV0f.y,R9f.y) + R2f.y); +PV1f.z = R127f.z; +// 2 +R7f.x = (mul_nonIEEE(PV1f.x,R9f.x) + R0f.y); +PV0f.z = R8f.z + -(PV1f.y); +PV0f.w = R8f.y + -(PV1f.z); +// 3 +R127f.x = (mul_nonIEEE(PV0f.w,R8f.w) + R127f.z); +PV1f.x = R127f.x; +R127f.w = (mul_nonIEEE(PV0f.z,R8f.w) + R127f.y); +PV1f.w = R127f.w; +// 4 +PV0f.x = -(PV1f.w) + intBitsToFloat(uf_remappedPS[4].z); +PV0f.y = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].y); +// 5 +R7f.y = (mul_nonIEEE(PV0f.y,R9f.x) + R127f.x); +R7f.z = (mul_nonIEEE(PV0f.x,R9f.x) + R127f.w); + +// export +if( ((vec4(R7f.x, R7f.y, R7f.z, R7f.w)).a > uf_alphaTestRef) == false) discard; +passPixelColor0 = vec4(R7f.x * basefogred, R7f.y * basefoggreen, R7f.z * basefogblue, R7f.w * basefogopacity); // rgb and opacity +} diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/ReadMe.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/ReadMe.txt similarity index 89% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/ReadMe.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/ReadMe.txt index 4f35931b..246bf59f 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/ReadMe.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/ReadMe.txt @@ -1,21 +1,21 @@ -# Information -# by SkalFate -# ---------------------- - -Example Preset : - -// Changing it here doesn't do anything, this is for demonstration. Change it in rules.txt file instead. - -[Preset] -name = Custom Preset -$basefogopacity = 1 -$basefogred = 3 -$basefoggreen = 1 -$basefogblue = 2 - - -# (basefogopacity) = Fog Transparency/Opacity - how thick you want the Hyrule Castle Base Fog to look -# ------ Values are multiplied, so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] - -# (basefogred, basefoggreen, basefogblue ) = RGB - Red, Green, Blue - Changes the color of the Hyrule Base Fog. +# Information +# by SkalFate +# ---------------------- + +Example Preset : + +// Changing it here doesn't do anything, this is for demonstration. Change it in rules.txt file instead. + +[Preset] +name = Custom Preset +$basefogopacity = 1 +$basefogred = 3 +$basefoggreen = 1 +$basefogblue = 2 + + +# (basefogopacity) = Fog Transparency/Opacity - how thick you want the Hyrule Castle Base Fog to look +# ------ Values are multiplied, so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] + +# (basefogred, basefoggreen, basefogblue ) = RGB - Red, Green, Blue - Changes the color of the Hyrule Base Fog. # ------ Values are multiplied so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt similarity index 88% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt index 7118a55d..4303dd73 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_HyruleCastleBaseFog/rules.txt @@ -1,100 +1,100 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = Hyrule Castle Base Fog Pack -path = "The Legend of Zelda: Breath of the Wild/Enhancements/Distant Fog Removal/Hyrule Castle Base Fog" -description = Can Remove the Fog glow at the Base of Hyrule Castle. Can Change its RGB color. -version = 3 - - -[Preset] -name = Castle Base Fog Disabled -$basefogopacity = 0 -$basefogred = 1 -$basefoggreen = 1 -$basefogblue = 1 - -[Preset] -name = Castle Base Fog 30% -$basefogopacity = 0.3 -$basefogred = 1 -$basefoggreen = 1 -$basefogblue = 1 - -[Preset] -name = Castle Base Fog 50% -$basefogopacity = 0.5 -$basefogred = 1 -$basefoggreen = 1 -$basefogblue = 1 - -[Preset] -name = Castle Base Fog Enabled -$basefogopacity = 1 -$basefogred = 1 -$basefoggreen = 1 -$basefogblue = 1 - -[Preset] -name = ---------------------------------------- -$basefogopacity = 1 -$basefogred = 1 -$basefoggreen = 1 -$basefogblue = 1 - -[Preset] -name = Castle Base Fog Opacity 3X -$basefogopacity = 3 -$basefogred = 1 -$basefoggreen = 1 -$basefogblue = 1 - -[Preset] -name = ---------------------------------------- -$basefogopacity = 1 -$basefogred = 1 -$basefoggreen = 1 -$basefogblue = 1 - -[Preset] -name = Castle Base Fog Red -$basefogopacity = 1.4 -$basefogred = 2 -$basefoggreen = 0 -$basefogblue = 0 - -[Preset] -name = Castle Base Fog Green -$basefogopacity = 1 -$basefogred = 0 -$basefoggreen = 1 -$basefogblue = 0 - -[Preset] -name = Castle Base Fog Blue -$basefogopacity = 1 -$basefogred = 0 -$basefoggreen = 0 -$basefogblue = 1 - -[Preset] -name = ---------------------------------------- -$basefogopacity = 1 -$basefogred = 1 -$basefoggreen = 1 -$basefogblue = 1 - -[Preset] -name = Custom Preset -$basefogopacity = 1 -$basefogred = 4 -$basefoggreen = 1.0 -$basefogblue = 1.5 - -# Information -# by SkalFate -# ---------------------- -# (basefogopacity) = Fog Transparency/Opacity - how thick you want the Hyrule Castle Base Fog to look -# ------ Values are multiplied, so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] - -# (basefogred, basefoggreen, basefogblue ) = RGB - Red, Green, Blue - Changes the color of the Hyrule Base Fog. +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Hyrule Castle Base Fog Pack +path = "The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/Hyrule Castle Base Fog" +description = Can Remove the Fog glow at the Base of Hyrule Castle. Can Change its RGB color. +version = 3 + + +[Preset] +name = Castle Base Fog Disabled +$basefogopacity = 0 +$basefogred = 1 +$basefoggreen = 1 +$basefogblue = 1 + +[Preset] +name = Castle Base Fog 30% +$basefogopacity = 0.3 +$basefogred = 1 +$basefoggreen = 1 +$basefogblue = 1 + +[Preset] +name = Castle Base Fog 50% +$basefogopacity = 0.5 +$basefogred = 1 +$basefoggreen = 1 +$basefogblue = 1 + +[Preset] +name = Castle Base Fog Enabled +$basefogopacity = 1 +$basefogred = 1 +$basefoggreen = 1 +$basefogblue = 1 + +[Preset] +name = ---------------------------------------- +$basefogopacity = 1 +$basefogred = 1 +$basefoggreen = 1 +$basefogblue = 1 + +[Preset] +name = Castle Base Fog Opacity 3X +$basefogopacity = 3 +$basefogred = 1 +$basefoggreen = 1 +$basefogblue = 1 + +[Preset] +name = ---------------------------------------- +$basefogopacity = 1 +$basefogred = 1 +$basefoggreen = 1 +$basefogblue = 1 + +[Preset] +name = Castle Base Fog Red +$basefogopacity = 1.4 +$basefogred = 2 +$basefoggreen = 0 +$basefogblue = 0 + +[Preset] +name = Castle Base Fog Green +$basefogopacity = 1 +$basefogred = 0 +$basefoggreen = 1 +$basefogblue = 0 + +[Preset] +name = Castle Base Fog Blue +$basefogopacity = 1 +$basefogred = 0 +$basefoggreen = 0 +$basefogblue = 1 + +[Preset] +name = ---------------------------------------- +$basefogopacity = 1 +$basefogred = 1 +$basefoggreen = 1 +$basefogblue = 1 + +[Preset] +name = Custom Preset +$basefogopacity = 1 +$basefogred = 4 +$basefoggreen = 1.0 +$basefogblue = 1.5 + +# Information +# by SkalFate +# ---------------------- +# (basefogopacity) = Fog Transparency/Opacity - how thick you want the Hyrule Castle Base Fog to look +# ------ Values are multiplied, so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] + +# (basefogred, basefoggreen, basefogblue ) = RGB - Red, Green, Blue - Changes the color of the Hyrule Base Fog. # ------ Values are multiplied so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt similarity index 98% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt index 97db14b6..afded49a 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/1c7db40ff5d693ab_001ffffe4924b249_ps.txt @@ -1,819 +1,819 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader 1c7db40ff5d693ab -- Links and all NPCs RGb renderer, all npcs fog rgb renderer, sun-side facing brightness -#define npcfogred $npcfogred -#define npcfoggreen $npcfoggreen -#define npcfogblue $npcfogblue - -uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 2) in vec4 passParameterSem6; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 3) out vec4 passPixelColor3; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R17i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex7 = 0.0; -R0i = floatBitsToInt(passParameterSem0); // Links cutout comes from passparamsem0 -R1i = floatBitsToInt(passParameterSem2); -R2i = floatBitsToInt(passParameterSem6); - -// ------------------------------------------------------------------------------------------------------------- Extra dynamic shadows on link -if( activeMaskStackC[1] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); // seems to affect links head area -R7i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); // seems to affect shadows on link body -R15i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); -R2i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xw); -R4i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); -R16i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); -R14i.x = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R2i.zw)).x); -} - -// ------------------------------------------------------------------------------------------------------------- false makes link grey -if( activeMaskStackC[1] == true ) { -// 0 -R124i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.y = R125i.y; -R3i.z = 0; -R5i.w = 0x3f800000; -R126i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.y)))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.y)))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[2].x)) + -(intBitsToFloat(uf_remappedPS[2].y)))); -R127i.w = clampFI32(R127i.w); -R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].w)) + 1.0); -PS1i = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[4].x))); -// 3 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PS0i))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[5].x))); -R10i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) * intBitsToFloat(0x3ba3d70a)); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -// 4 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[6].x))); -R125i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); -R127i.w = floatBitsToInt(max(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -// 5 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = R0i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(backupReg0i))); -PV1i.w = R123i.w; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); -PV0i.x = R123i.x; -R6i.y = floatBitsToInt(max(intBitsToFloat(R15i.x), intBitsToFloat(R127i.w))); -R9i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.w)); -PV0i.z = R9i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R125i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 7 -R5i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)); -PV1i.x = R5i.x; -R8i.y = PV0i.z; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R4i.z = floatBitsToInt(tempResultf); -PS1i = R4i.z; -// 8 -R9i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[6].w) + intBitsToFloat(PV1i.z)); -PV0i.z = R8i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(R127i.y))); -R13i.x = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); -PS0i = R13i.x; -// 9 -R127i.x = uf_remappedPS[7].y; -R9i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3a83126f)); -R127i.z = uf_remappedPS[8].y; -R125i.w = floatBitsToInt(min(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 10 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[3].w))/2.0); -PV0i.x = R123i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(0x2edbe6ff)); -R126i.z = uf_remappedPS[9].y; -R127i.w = floatBitsToInt(intBitsToFloat(R13i.x) + intBitsToFloat(0xbecccccd)); -R125i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R125i.x; -// 11 -backupReg0i = R126i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(uf_remappedPS[10].y)))); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R11i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(uf_remappedPS[11].y))); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40200001)); -R126i.w = clampFI32(R126i.w); -R14i.y = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R4i.y) + 1.0)); -PS1i = R14i.y; -// 12 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.z),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R127i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -R0i.x = floatBitsToInt(min(intBitsToFloat(R15i.x), intBitsToFloat(R125i.w))); -R12i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x41200000)); -R12i.y = clampFI32(R12i.y); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].z), intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),-(intBitsToFloat(R125i.x))) + intBitsToFloat(uf_remappedPS[3].z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 15 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[13].x)) + intBitsToFloat(uf_remappedPS[14].w))); -R125i.x = clampFI32(R125i.x); -R127i.y = floatBitsToInt((intBitsToFloat(PS0i) * 4.0 + intBitsToFloat(0xc0400000))); -R127i.y = clampFI32(R127i.y); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R14i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 16 -R17i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); -R17i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3f4ccccd)); -R13i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(0.5)); -R13i.y = floatBitsToInt(intBitsToFloat(R13i.y) * 4.0); -R13i.y = clampFI32(R13i.y); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(PS0i))); -R6i.w = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3f4ccccd)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.z))); -// 18 -R8i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3f4ccccd)); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -R2i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[12].w)),intBitsToFloat(PS1i)) + 1.0)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R12i.x = R1i.w; -R12i.x = clampFI32(R12i.x); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R6i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(0x3f4ccccd)); -PV1i.w = clampFI32(PV1i.w); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R124i.z)); -// 20 -R2i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd) + 1.0)); -R5i.y = R6i.y; -R5i.y = clampFI32(R5i.y); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[15].w))); -R3i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -tempResultf = log2(intBitsToFloat(R125i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.w = floatBitsToInt(tempResultf); -PS0i = R0i.w; -} -// ------------------------------------------------------------------------------------------------------------- false turns link almost dark, lighting on link -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].x), intBitsToFloat(uf_remappedPS[17].w))); -PV0i.x = R126i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].y), intBitsToFloat(uf_remappedPS[17].w))); -PV0i.y = R125i.y; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R14i.y))); -PV0i.z = R10i.z; -R4i.w = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x42960000)); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R2i.y)); -PS0i = R126i.w; -// 1 -R125i.x = PV0i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.x)),intBitsToFloat(PS0i)) + 1.0)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].z), intBitsToFloat(uf_remappedPS[17].w))); -PV1i.z = R126i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); -PV1i.w = R123i.w; -R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R2i.z)) + intBitsToFloat(R2i.z))); -PS1i = R0i.z; -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y), intBitsToFloat(R0i.w))); -PV0i.y = PV1i.z; -R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].x) + -(intBitsToFloat(R6i.x))); -R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].y) + -(intBitsToFloat(R6i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.w)); -PS0i = floatBitsToInt(tempResultf); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R4i.z))); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(0x2edbe6ff)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -R124i.z = backupReg0i; -R124i.z = clampFI32(R124i.z); -R8i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].z) + -(intBitsToFloat(R8i.x))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(backupReg1i))); -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[19].w))); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); -R126i.y = R4i.x; -R126i.y = clampFI32(R126i.y); -PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), 0.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R127i.y))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -// 7 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R15i.w) * intBitsToFloat(0x437f0000)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -PS1i = R127i.y; -// 8 -R127i.x = floatBitsToInt(intBitsToFloat(R15i.x) + -(intBitsToFloat(R6i.y))); -PV0i.y = floatBitsToInt(max(-(intBitsToFloat(PV1i.z)), intBitsToFloat(0xbf7d70a4))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x40a00000)); -PV0i.z = clampFI32(PV0i.z); -R125i.w = floatBitsToInt(intBitsToFloat(R15i.y) + -(intBitsToFloat(R6i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R15i.z) + -(intBitsToFloat(R6i.y))); -PS0i = R124i.w; -// 9 -backupReg0i = R127i.y; -backupReg1i = R6i.z; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV0i.z)) + 1.0)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R5i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); -PV1i.w = R126i.w; -R3i.w = 0; -PS1i = R3i.w; -// 10 -backupReg0i = R127i.x; -backupReg1i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); -PV0i.w = R123i.w; -R127i.w = int(intBitsToFloat(backupReg1i)); -PS0i = R127i.w; -// 11 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R124i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(0xbe593484))); -PV1i.z = R123i.z; -R9i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R124i.x))); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.z))); -// 12 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R124i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); -PV0i.z = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(R127i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(0x3fc90da4))); -PV0i.w = R123i.w; -R127i.y = R127i.w & int(1); -PS0i = R127i.y; -// 13 -backupReg0i = R2i.w; -backupReg0i = R2i.w; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),-(intBitsToFloat(PV0i.w))) + 1.0)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(0xba0a8ec8))); -R5i.y = clampFI32(R5i.y); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(0xba0a8ec8))); -R5i.z = clampFI32(R5i.z); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R10i.z))) + intBitsToFloat(backupReg0i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(0xba0a8ec8))); -R3i.z = clampFI32(R3i.z); -PS1i = R3i.z; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(float(R127i.y)); -// 15 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PS0i))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); -PS1i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3eaaaaab)); -// 16 -R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), -(intBitsToFloat(R3i.w)))); -// 17 -backupReg0i = R7i.x; -R7i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),-(intBitsToFloat(R126i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 18 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.w))); -R7i.z = clampFI32(R7i.z); -// 19 -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PV0i.x))); -PV1i.z = R12i.z; -// 20 -PV0i.y = PV1i.z; -PV0i.y = clampFI32(PV0i.y); -// 21 -R14i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0xbecccccd)); -} - -// ------------------------------------------------------------------------------------------------------------- -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[20].x),intBitsToFloat(uf_remappedPS[20].y),intBitsToFloat(uf_remappedPS[20].z),intBitsToFloat(uf_remappedPS[20].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[21].x),intBitsToFloat(uf_remappedPS[21].y),intBitsToFloat(uf_remappedPS[21].z),intBitsToFloat(uf_remappedPS[21].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R10i.x; -// 3 -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); -} - -// ------------------------------------------------------------------------------------------------------------- makes link yellower -if( activeMaskStackC[1] == true ) { -R9i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R9i.xy),0.0).x); -R10i.w = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R10i.xy),intBitsToFloat(R10i.w)).x); -R11i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R11i.xy)).xyz); -} - -// ------------------------------------------------------------------------------------------------------------- makes link yellower -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R9i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.w) + intBitsToFloat(uf_remappedPS[23].z)); -PV0i.x = clampFI32(PV0i.x); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R6i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); -PV0i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R6i.z))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R6i.z))); -PS0i = R11i.y; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x41c80000) + intBitsToFloat(R9i.z))); -PV1i.x = R123i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[24].z))); -PV1i.y = R3i.y; -// 2 -R4i.y = PV1i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R12i.y))); -R10i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[25].x)); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = clampFI32(PV1i.z); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R8i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R12i.x)) + 1.0)); -PV0i.w = R123i.w; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R7i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[26].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[26].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[26].x))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.x))); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.w))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.y))); -PV1i.w = R123i.w; -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.z))); -// 9 -R0i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -R0i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -R2i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -} - -// ------------------------------------------------------------------------------------------------------------- makes whole link blue/pink -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(uf_remappedPS[27].x)) + intBitsToFloat(uf_remappedPS[28].w))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[29].w))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R14i.y))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.z)) + intBitsToFloat(R0i.z))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.z))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].y), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].z), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); -R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PS0i = R5i.z; -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].x),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -R4i.w = 0; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; // links whole body red -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; // links whole body green -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; // links whole body blue -// 7 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.y))); // affects color of links back side -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.z))); // affects color of links back side -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.w))); // affects color of links back side -// 8 -predResult = (intBitsToFloat(R14i.x) != intBitsToFloat(0x3dc0c0c1)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} - -// ------------------------------------------------------------------------------------------------------------- false makes link back-side shadow blue -if( activeMaskStackC[2] == true ) { -// 0 -R3i.xyz = floatBitsToInt(vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R4i.z)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z))); -R3i.w = 0x3f800000; -R0i.x = 0; -PS0i = R0i.x; -// 1 -R0i.yzw = ivec3(0,0,0); // orginal code -//R0i.yzw = ivec3(floatBitsToInt(1.0),floatBitsToInt(1.0),floatBitsToInt(1.0)); // controls the color and brightness of the backside shadows on all npcs -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; - -// ------------------------------------------------------------------------------------------------------------- false changes links color to be more yellowish -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[30].x),intBitsToFloat(uf_remappedPS[30].y),intBitsToFloat(uf_remappedPS[30].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.w = 0x40400000; -PS0i = R0i.w; -// 1 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[31].x),intBitsToFloat(uf_remappedPS[31].y),intBitsToFloat(uf_remappedPS[31].z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(uf_remappedPS[32].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R13i.x))); -// 3 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg1i = R127i.z; -redcCUBE(vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); -R127i.x = floatBitsToInt(cubeMapSTM.x); -R127i.y = floatBitsToInt(cubeMapSTM.y); -R127i.z = floatBitsToInt(cubeMapSTM.z); -R127i.w = cubeMapFaceId; -PV1i.x = R127i.x; -PV1i.y = R127i.y; -PV1i.z = R127i.z; -PV1i.w = R127i.w; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); -R2i.z = clampFI32(R2i.z); -PS1i = R2i.z; -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(0x42960000)); -PV0i.x = clampFI32(PV0i.x); -R0i.z = PV1i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 5 -backupReg0i = R1i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.z))); -PS1i = R1i.x; -// 6 -R0i.x = PV1i.w; -R0i.y = PV1i.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PV1i.z))); -PS0i = R3i.x; -} - -// ------------------------------------------------------------------------------------------------------------- false makes link back side brightened up -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex7),intBitsToFloat(R0i.w)).xyz); // R0i.z controls links back side , it britghens it up -} - -// ------------------------------------------------------------------------------------------------------------- false makes link a bit brighter front and back -if( activeMaskStackC[2] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.x))); -PV0i.y = R123i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(R1i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.z))); -PV0i.w = R123i.w; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(R1i.y))); -PS0i = R3i.y; -// 1 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R2i.x))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z))); -R0i.w = 0; -R3i.w = 0x3f800000; -PS1i = R3i.w; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; - -// ------------------------------------------------------------------------------------------------------------- false darkens links models curves shadows -if( activeMaskStackC[1] == true ) { -// 0 -R1i.w = 0x3f800000; -// 1 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R3i.w; -R3i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); -R3i.w = backupReg3i; -// 2 -R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); -R2i.w = R0i.w; -// 3 -backupReg0i = R1i.w; -R1i.xyz = ivec3(R4i.x,R5i.y,R6i.z); -R1i.w = backupReg0i; -// 4 -R0i.xyz = ivec3(R13i.x,R4i.y,R5i.z); -R0i.w = R4i.w; -// 5 -R4i.xyz = ivec3(R7i.x,R7i.x,R7i.x); -R4i.w = R7i.x; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // light/shadows on link when sun face side -passPixelColor1 = vec4(intBitsToFloat(R1i.x) * npcfogred, intBitsToFloat(R1i.y) * npcfoggreen, intBitsToFloat(R1i.z) * npcfogblue, intBitsToFloat(R1i.w)); // links and all npcs fog rgb -passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // link rgb only in celshade removal mode -passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -passPixelColor4 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader 1c7db40ff5d693ab -- Links and all NPCs RGb renderer, all npcs fog rgb renderer, sun-side facing brightness +#define npcfogred $npcfogred +#define npcfoggreen $npcfoggreen +#define npcfogblue $npcfogblue + +uniform ivec4 uf_remappedPS[33]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x236b7000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 0 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3ccea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cbaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 2) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 2) out vec4 passPixelColor2; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 4) out vec4 passPixelColor4; +uniform vec2 uf_fragCoordScale; +void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) +{ +// stm -> x .. s, y .. t, z .. MajorAxis*2.0 +vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); +float rx = inputCoord.x; +float ry = inputCoord.y; +float rz = inputCoord.z; +if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) +{ +stm.z = rx*2.0; +stm.xy = vec2(ry,rz); +if( rx >= 0.0 ) +{ +faceId = 0; +} +else +{ +faceId = 1; +} +} +else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) +{ +stm.z = ry*2.0; +stm.xy = vec2(rx,rz); +if( ry >= 0.0 ) +{ +faceId = 2; +} +else +{ +faceId = 3; +} +} +else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) +{ +stm.z = rz*2.0; +stm.xy = vec2(rx,ry); +if( rz >= 0.0 ) +{ +faceId = 4; +} +else +{ +faceId = 5; +} +} +} +vec3 redcCUBEReverse(vec2 st, int faceId) +{ +st.yx = st.xy; +vec3 v; +float majorAxis = 1.0; +if( faceId == 0 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = 1.0; +} +else if( faceId == 1 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = -1.0; +} +else if( faceId == 2 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = 1.0; +} +else if( faceId == 3 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = -1.0; +} +else if( faceId == 4 ) +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = 1.0; +} +else +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = -1.0; +} +return v; +} +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R7i = ivec4(0); +ivec4 R8i = ivec4(0); +ivec4 R9i = ivec4(0); +ivec4 R10i = ivec4(0); +ivec4 R11i = ivec4(0); +ivec4 R12i = ivec4(0); +ivec4 R13i = ivec4(0); +ivec4 R14i = ivec4(0); +ivec4 R15i = ivec4(0); +ivec4 R16i = ivec4(0); +ivec4 R17i = ivec4(0); +ivec4 R122i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +bool activeMaskStack[2]; +bool activeMaskStackC[3]; +activeMaskStack[0] = false; +activeMaskStackC[0] = false; +activeMaskStackC[1] = false; +activeMaskStack[0] = true; +activeMaskStackC[0] = true; +activeMaskStackC[1] = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +float cubeMapArrayIndex7 = 0.0; +R0i = floatBitsToInt(passParameterSem0); // Links cutout comes from passparamsem0 +R1i = floatBitsToInt(passParameterSem2); +R2i = floatBitsToInt(passParameterSem6); + +// ------------------------------------------------------------------------------------------------------------- Extra dynamic shadows on link +if( activeMaskStackC[1] == true ) { +R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); // seems to affect links head area +R7i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); // seems to affect shadows on link body +R15i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); +R2i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xw); +R4i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); +R16i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); +R14i.x = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R2i.zw)).x); +} + +// ------------------------------------------------------------------------------------------------------------- false makes link grey +if( activeMaskStackC[1] == true ) { +// 0 +R124i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.y = R125i.y; +R3i.z = 0; +R5i.w = 0x3f800000; +R126i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); +PS0i = R126i.y; +// 1 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.y)))); +PV1i.x = R126i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.y)))); +PV1i.y = R127i.y; +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y))); +PV1i.z = R127i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[2].x)) + -(intBitsToFloat(uf_remappedPS[2].y)))); +R127i.w = clampFI32(R127i.w); +R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].w)) + 1.0); +PS1i = R126i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[4].x))); +// 3 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PS0i))); +R3i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[5].x))); +R10i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) * intBitsToFloat(0x3ba3d70a)); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +// 4 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV1i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[6].x))); +R125i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); +R127i.w = floatBitsToInt(max(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); +// 5 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.y))); +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +PV1i.y = R0i.y; +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(backupReg0i))); +PV1i.w = R123i.w; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); +PS1i = R3i.x; +// 6 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); +PV0i.x = R123i.x; +R6i.y = floatBitsToInt(max(intBitsToFloat(R15i.x), intBitsToFloat(R127i.w))); +R9i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.w)); +PV0i.z = R9i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R125i.x))); +PV0i.w = R123i.w; +tempResultf = log2(intBitsToFloat(R3i.y)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R127i.y = floatBitsToInt(tempResultf); +PS0i = R127i.y; +// 7 +R5i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)); +PV1i.x = R5i.x; +R8i.y = PV0i.z; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(R127i.x))); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +R4i.z = floatBitsToInt(tempResultf); +PS1i = R4i.z; +// 8 +R9i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(R127i.y))); +R8i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[6].w) + intBitsToFloat(PV1i.z)); +PV0i.z = R8i.z; +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(R127i.y))); +R13i.x = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); +PS0i = R13i.x; +// 9 +R127i.x = uf_remappedPS[7].y; +R9i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3a83126f)); +R127i.z = uf_remappedPS[8].y; +R125i.w = floatBitsToInt(min(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 10 +backupReg0i = R127i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[3].w))/2.0); +PV0i.x = R123i.x; +R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(0x2edbe6ff)); +R126i.z = uf_remappedPS[9].y; +R127i.w = floatBitsToInt(intBitsToFloat(R13i.x) + intBitsToFloat(0xbecccccd)); +R125i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); +PS0i = R125i.x; +// 11 +backupReg0i = R126i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(uf_remappedPS[10].y)))); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R11i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(uf_remappedPS[11].y))); +R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40200001)); +R126i.w = clampFI32(R126i.w); +R14i.y = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R4i.y) + 1.0)); +PS1i = R14i.y; +// 12 +backupReg0i = R0i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.z),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),0.0))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +PS0i = R127i.x; +// 13 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +tempResultf = log2(intBitsToFloat(PV0i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 14 +R0i.x = floatBitsToInt(min(intBitsToFloat(R15i.x), intBitsToFloat(R125i.w))); +R12i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x41200000)); +R12i.y = clampFI32(R12i.y); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].z), intBitsToFloat(PS1i))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),-(intBitsToFloat(R125i.x))) + intBitsToFloat(uf_remappedPS[3].z))); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 15 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[13].x)) + intBitsToFloat(uf_remappedPS[14].w))); +R125i.x = clampFI32(R125i.x); +R127i.y = floatBitsToInt((intBitsToFloat(PS0i) * 4.0 + intBitsToFloat(0xc0400000))); +R127i.y = clampFI32(R127i.y); +R126i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd)); +R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R14i.y))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); +// 16 +R17i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); +R17i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); +R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); +R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); +tempResultf = log2(intBitsToFloat(R127i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 17 +R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3f4ccccd)); +R13i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(0.5)); +R13i.y = floatBitsToInt(intBitsToFloat(R13i.y) * 4.0); +R13i.y = clampFI32(R13i.y); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(PS0i))); +R6i.w = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3f4ccccd)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.z))); +// 18 +R8i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3f4ccccd)); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +R2i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[12].w)),intBitsToFloat(PS1i)) + 1.0)); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); +// 19 +R12i.x = R1i.w; +R12i.x = clampFI32(R12i.x); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); +PV1i.y = R123i.y; +R6i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV0i.y))); +PV1i.w = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(0x3f4ccccd)); +PV1i.w = clampFI32(PV1i.w); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R124i.z)); +// 20 +R2i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd) + 1.0)); +R5i.y = R6i.y; +R5i.y = clampFI32(R5i.y); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[15].w))); +R3i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); +tempResultf = log2(intBitsToFloat(R125i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R0i.w = floatBitsToInt(tempResultf); +PS0i = R0i.w; +} +// ------------------------------------------------------------------------------------------------------------- false turns link almost dark, lighting on link +if( activeMaskStackC[1] == true ) { +// 0 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].x), intBitsToFloat(uf_remappedPS[17].w))); +PV0i.x = R126i.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].y), intBitsToFloat(uf_remappedPS[17].w))); +PV0i.y = R125i.y; +R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R14i.y))); +PV0i.z = R10i.z; +R4i.w = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x42960000)); +R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R2i.y)); +PS0i = R126i.w; +// 1 +R125i.x = PV0i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.x)),intBitsToFloat(PS0i)) + 1.0)); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].z), intBitsToFloat(uf_remappedPS[17].w))); +PV1i.z = R126i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); +PV1i.w = R123i.w; +R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R2i.z)) + intBitsToFloat(R2i.z))); +PS1i = R0i.z; +// 2 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y), intBitsToFloat(R0i.w))); +PV0i.y = PV1i.z; +R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].x) + -(intBitsToFloat(R6i.x))); +R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].y) + -(intBitsToFloat(R6i.w))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.w)); +PS0i = floatBitsToInt(tempResultf); +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R3i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R4i.z))); +// 4 +backupReg0i = R127i.y; +backupReg1i = R127i.x; +R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(0x2edbe6ff)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); +R124i.z = backupReg0i; +R124i.z = clampFI32(R124i.z); +R8i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].z) + -(intBitsToFloat(R8i.x))); +PS0i = floatBitsToInt(exp2(intBitsToFloat(backupReg1i))); +// 5 +backupReg0i = R0i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[19].w))); +// 6 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); +R126i.y = R4i.x; +R126i.y = clampFI32(R126i.y); +PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), 0.0)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R127i.y))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); +// 7 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.y))); +PV1i.z = R123i.z; +R127i.w = floatBitsToInt(intBitsToFloat(R15i.w) * intBitsToFloat(0x437f0000)); +R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); +PS1i = R127i.y; +// 8 +R127i.x = floatBitsToInt(intBitsToFloat(R15i.x) + -(intBitsToFloat(R6i.y))); +PV0i.y = floatBitsToInt(max(-(intBitsToFloat(PV1i.z)), intBitsToFloat(0xbf7d70a4))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x40a00000)); +PV0i.z = clampFI32(PV0i.z); +R125i.w = floatBitsToInt(intBitsToFloat(R15i.y) + -(intBitsToFloat(R6i.y))); +R124i.w = floatBitsToInt(intBitsToFloat(R15i.z) + -(intBitsToFloat(R6i.y))); +PS0i = R124i.w; +// 9 +backupReg0i = R127i.y; +backupReg1i = R6i.z; +R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV0i.z)) + 1.0)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R5i.y))); +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); +R126i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); +PV1i.w = R126i.w; +R3i.w = 0; +PS1i = R3i.w; +// 10 +backupReg0i = R127i.x; +backupReg1i = R127i.w; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); +PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); +R123i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); +PV0i.w = R123i.w; +R127i.w = int(intBitsToFloat(backupReg1i)); +PS0i = R127i.w; +// 11 +backupReg0i = R125i.x; +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.y))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R124i.x))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(0xbe593484))); +PV1i.z = R123i.z; +R9i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R124i.x))); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.z))); +// 12 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R124i.x))); +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); +PV0i.z = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(R127i.y)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(0x3fc90da4))); +PV0i.w = R123i.w; +R127i.y = R127i.w & int(1); +PS0i = R127i.y; +// 13 +backupReg0i = R2i.w; +backupReg0i = R2i.w; +R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),-(intBitsToFloat(PV0i.w))) + 1.0)); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(0xba0a8ec8))); +R5i.y = clampFI32(R5i.y); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(0xba0a8ec8))); +R5i.z = clampFI32(R5i.z); +R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R10i.z))) + intBitsToFloat(backupReg0i))); +R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(0xba0a8ec8))); +R3i.z = clampFI32(R3i.z); +PS1i = R3i.z; +// 14 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(float(R127i.y)); +// 15 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PS0i))); +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(PS0i))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); +PS1i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3eaaaaab)); +// 16 +R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PS1i))); +PV0i.x = R123i.x; +PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), -(intBitsToFloat(R3i.w)))); +// 17 +backupReg0i = R7i.x; +R7i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PV0i.x))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),-(intBitsToFloat(R126i.z))) + intBitsToFloat(PS0i))); +PS1i = R122i.x; +// 18 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PS1i))); +PV0i.x = R123i.x; +R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.w))); +R7i.z = clampFI32(R7i.z); +// 19 +R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PV0i.x))); +PV1i.z = R12i.z; +// 20 +PV0i.y = PV1i.z; +PV0i.y = clampFI32(PV0i.y); +// 21 +R14i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0xbecccccd)); +} + +// ------------------------------------------------------------------------------------------------------------- +if( activeMaskStackC[1] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[20].x),intBitsToFloat(uf_remappedPS[20].y),intBitsToFloat(uf_remappedPS[20].z),intBitsToFloat(uf_remappedPS[20].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[21].x),intBitsToFloat(uf_remappedPS[21].y),intBitsToFloat(uf_remappedPS[21].z),intBitsToFloat(uf_remappedPS[21].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +PS1i = R126i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); +PS0i = R10i.x; +// 3 +R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); +} + +// ------------------------------------------------------------------------------------------------------------- makes link yellower +if( activeMaskStackC[1] == true ) { +R9i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R9i.xy),0.0).x); +R10i.w = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R10i.xy),intBitsToFloat(R10i.w)).x); +R11i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R11i.xy)).xyz); +} + +// ------------------------------------------------------------------------------------------------------------- makes link yellower +if( activeMaskStackC[1] == true ) { +// 0 +backupReg0i = R9i.y; +PV0i.x = floatBitsToInt(intBitsToFloat(R10i.w) + intBitsToFloat(uf_remappedPS[23].z)); +PV0i.x = clampFI32(PV0i.x); +R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R6i.z))); +R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); +PV0i.z = R123i.z; +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R6i.z))); +R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R6i.z))); +PS0i = R11i.y; +// 1 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x41c80000) + intBitsToFloat(R9i.z))); +PV1i.x = R123i.x; +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[24].z))); +PV1i.y = R3i.y; +// 2 +R4i.y = PV1i.y; +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R12i.y))); +R10i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[25].x)); +// 3 +PV1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.z)); +PV1i.z = clampFI32(PV1i.z); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); +// 4 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R8i.x))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.w))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.x))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R12i.x)) + 1.0)); +PV0i.w = R123i.w; +// 5 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R7i.z))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[26].z))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[26].y))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[26].x))); +// 6 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.x))); +// 7 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.w))); +PV1i.x = R123i.x; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.y))); +PV1i.w = R123i.w; +// 8 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.z))); +// 9 +R0i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +R0i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +R2i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +} + +// ------------------------------------------------------------------------------------------------------------- makes whole link blue/pink +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(uf_remappedPS[27].x)) + intBitsToFloat(uf_remappedPS[28].w))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +// 1 +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[29].w))); +// 2 +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R14i.y))); +// 3 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.z)) + intBitsToFloat(R0i.z))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.z))); +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].y), intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].z), intBitsToFloat(PV1i.y))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].x), intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); +R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); +PS0i = R5i.z; +// 5 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.y))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].x),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.x))); +PV1i.z = R123i.z; +R4i.w = 0; +// 6 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.y))); +PV0i.y = R123i.y; // links whole body red +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.z))); +PV0i.z = R123i.z; // links whole body green +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.x))); +PV0i.w = R123i.w; // links whole body blue +// 7 +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.y))); // affects color of links back side +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.z))); // affects color of links back side +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.w))); // affects color of links back side +// 8 +predResult = (intBitsToFloat(R14i.x) != intBitsToFloat(0x3dc0c0c1)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} + +// ------------------------------------------------------------------------------------------------------------- false makes link back-side shadow blue +if( activeMaskStackC[2] == true ) { +// 0 +R3i.xyz = floatBitsToInt(vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R4i.z)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z))); +R3i.w = 0x3f800000; +R0i.x = 0; +PS0i = R0i.x; +// 1 +R0i.yzw = ivec3(0,0,0); // orginal code +//R0i.yzw = ivec3(floatBitsToInt(1.0),floatBitsToInt(1.0),floatBitsToInt(1.0)); // controls the color and brightness of the backside shadows on all npcs +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; + +// ------------------------------------------------------------------------------------------------------------- false changes links color to be more yellowish +if( activeMaskStackC[2] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[30].x),intBitsToFloat(uf_remappedPS[30].y),intBitsToFloat(uf_remappedPS[30].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R0i.w = 0x40400000; +PS0i = R0i.w; +// 1 +R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[31].x),intBitsToFloat(uf_remappedPS[31].y),intBitsToFloat(uf_remappedPS[31].z),0.0))); +PV1i.x = R127i.x; +PV1i.y = R127i.x; +PV1i.z = R127i.x; +PV1i.w = R127i.x; +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +PS1i = R127i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(uf_remappedPS[32].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R13i.x))); +// 3 +backupReg0i = R127i.x; +backupReg0i = R127i.x; +backupReg1i = R127i.z; +backupReg1i = R127i.z; +redcCUBE(vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); +R127i.x = floatBitsToInt(cubeMapSTM.x); +R127i.y = floatBitsToInt(cubeMapSTM.y); +R127i.z = floatBitsToInt(cubeMapSTM.z); +R127i.w = cubeMapFaceId; +PV1i.x = R127i.x; +PV1i.y = R127i.y; +PV1i.z = R127i.z; +PV1i.w = R127i.w; +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); +R2i.z = clampFI32(R2i.z); +PS1i = R2i.z; +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(0x42960000)); +PV0i.x = clampFI32(PV0i.x); +R0i.z = PV1i.w; +PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +// 5 +backupReg0i = R1i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + 1.5)); +PV1i.x = R123i.x; +R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.x))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + 1.5)); +PV1i.w = R123i.w; +R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.z))); +PS1i = R1i.x; +// 6 +R0i.x = PV1i.w; +R0i.y = PV1i.x; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PV1i.z))); +PS0i = R3i.x; +} + +// ------------------------------------------------------------------------------------------------------------- false makes link back side brightened up +if( activeMaskStackC[2] == true ) { +R0i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex7),intBitsToFloat(R0i.w)).xyz); // R0i.z controls links back side , it britghens it up +} + +// ------------------------------------------------------------------------------------------------------------- false makes link a bit brighter front and back +if( activeMaskStackC[2] == true ) { +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.y))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.x))); +PV0i.y = R123i.y; +R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(R1i.x))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.z))); +PV0i.w = R123i.w; +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(R1i.y))); +PS0i = R3i.y; +// 1 +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R2i.x))); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z))); +R0i.w = 0; +R3i.w = 0x3f800000; +PS1i = R3i.w; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; + +// ------------------------------------------------------------------------------------------------------------- false darkens links models curves shadows +if( activeMaskStackC[1] == true ) { +// 0 +R1i.w = 0x3f800000; +// 1 +backupReg0i = R3i.x; +backupReg1i = R3i.y; +backupReg2i = R3i.z; +backupReg3i = R3i.w; +R3i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); +R3i.w = backupReg3i; +// 2 +R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); +R2i.w = R0i.w; +// 3 +backupReg0i = R1i.w; +R1i.xyz = ivec3(R4i.x,R5i.y,R6i.z); +R1i.w = backupReg0i; +// 4 +R0i.xyz = ivec3(R13i.x,R4i.y,R5i.z); +R0i.w = R4i.w; +// 5 +R4i.xyz = ivec3(R7i.x,R7i.x,R7i.x); +R4i.w = R7i.x; +} +// export +passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); // light/shadows on link when sun face side +passPixelColor1 = vec4(intBitsToFloat(R1i.x) * npcfogred, intBitsToFloat(R1i.y) * npcfoggreen, intBitsToFloat(R1i.z) * npcfogblue, intBitsToFloat(R1i.w)); // links and all npcs fog rgb +passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); // link rgb only in celshade removal mode +passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); +passPixelColor4 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +} diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/ReadMe.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/ReadMe.txt similarity index 85% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/ReadMe.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/ReadMe.txt index 7f027eb8..73658cdb 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/ReadMe.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/ReadMe.txt @@ -1,16 +1,16 @@ -# Information -# by SkalFate -# ---------------------- - -Example Preset : - -// Changing it here doesn't do anything, this is for demonstration. Change it in rules.txt file instead. - -[Preset] -name = Custom Preset -$npcfogred = 1 -$npcfoggreen = 1 -$npcfogblue = 1 - -# (npcfogred, npcfoggreen, npcblue ) = RGB - Red, Green, Blue - Changes the color of distant npcs fog. +# Information +# by SkalFate +# ---------------------- + +Example Preset : + +// Changing it here doesn't do anything, this is for demonstration. Change it in rules.txt file instead. + +[Preset] +name = Custom Preset +$npcfogred = 1 +$npcfoggreen = 1 +$npcfogblue = 1 + +# (npcfogred, npcfoggreen, npcblue ) = RGB - Red, Green, Blue - Changes the color of distant npcs fog. # ------ Values are multiplied so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt similarity index 85% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt index 2c373c50..e52b8b46 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_NPCFog/rules.txt @@ -1,74 +1,74 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = Distant NPCs Fog Removal Pack -path = "The Legend of Zelda: Breath of the Wild/Enhancements/Distant Fog Removal/NPC Fog Removal" -description = Can Remove Fog from Distant NPCs. Conflicts with Cel-Shade ShadowFix Packs. -version = 3 - - -[Preset] -name = Distant NPC Fog Disabled -$npcfogred = 0 -$npcfoggreen = 0 -$npcfogblue = 0 - -[Preset] -name = Distant NPC Fog 10% -$npcfogred = 0.1 -$npcfoggreen = 0.1 -$npcfogblue = 0.1 - -[Preset] -name = Distant NPC Fog 30% -$npcfogred = 0.3 -$npcfoggreen = 0.3 -$npcfogblue = 0.3 - -[Preset] -name = Distant NPC Fog Enabled -$npcfogred = 1 -$npcfoggreen = 1 -$npcfogblue = 1 - -[Preset] -name = ---------------------------------------- -$npcfogred = 1 -$npcfoggreen = 1 -$npcfogblue = 1 - -[Preset] -name = Distant NPC Fog Red -$npcfogred = 2 -$npcfoggreen = 0 -$npcfogblue = 0 - -[Preset] -name = Distant NPC Fog Green -$npcfogred = 0 -$npcfoggreen = 1 -$npcfogblue = 0 - -[Preset] -name = Distant NPC Fog Blue -$npcfogred = 0 -$npcfoggreen = 0 -$npcfogblue = 1 - -[Preset] -name = ---------------------------------------- -$npcfogred = 1 -$npcfoggreen = 1 -$npcfogblue = 1 - -[Preset] -name = Custom Preset -$npcfogred = 1 -$npcfoggreen = 1 -$npcfogblue = 1 - -# Information -# by SkalFate -# ---------------------- - -# (npcfogred, npcfoggreen, npcblue ) = RGB - Red, Green, Blue - Changes the color of distant npcs fog. +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Distant NPCs Fog Removal Pack +path = "The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/NPC Fog Removal" +description = Can Remove Fog from Distant NPCs. Conflicts with Cel-Shade ShadowFix Packs. +version = 3 + + +[Preset] +name = Distant NPC Fog Disabled +$npcfogred = 0 +$npcfoggreen = 0 +$npcfogblue = 0 + +[Preset] +name = Distant NPC Fog 10% +$npcfogred = 0.1 +$npcfoggreen = 0.1 +$npcfogblue = 0.1 + +[Preset] +name = Distant NPC Fog 30% +$npcfogred = 0.3 +$npcfoggreen = 0.3 +$npcfogblue = 0.3 + +[Preset] +name = Distant NPC Fog Enabled +$npcfogred = 1 +$npcfoggreen = 1 +$npcfogblue = 1 + +[Preset] +name = ---------------------------------------- +$npcfogred = 1 +$npcfoggreen = 1 +$npcfogblue = 1 + +[Preset] +name = Distant NPC Fog Red +$npcfogred = 2 +$npcfoggreen = 0 +$npcfogblue = 0 + +[Preset] +name = Distant NPC Fog Green +$npcfogred = 0 +$npcfoggreen = 1 +$npcfogblue = 0 + +[Preset] +name = Distant NPC Fog Blue +$npcfogred = 0 +$npcfoggreen = 0 +$npcfogblue = 1 + +[Preset] +name = ---------------------------------------- +$npcfogred = 1 +$npcfoggreen = 1 +$npcfogblue = 1 + +[Preset] +name = Custom Preset +$npcfogred = 1 +$npcfoggreen = 1 +$npcfogblue = 1 + +# Information +# by SkalFate +# ---------------------- + +# (npcfogred, npcfoggreen, npcblue ) = RGB - Red, Green, Blue - Changes the color of distant npcs fog. # ------ Values are multiplied so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt similarity index 96% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt index da78fd94..db392d3c 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/527591781440691a_000000000001c24b_ps.txt @@ -1,328 +1,328 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable - -// shader 527591781440691a -- Controls RGb of the Fog Fields in the distance ans their opacity -#define ffopacity $ffopacity -#define ffred $ffred -#define ffgreen $ffgreen -#define ffblue $ffblue - -uniform ivec4 uf_remappedPS[7]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2022c000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20234000 res 256x64x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 2 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x200c2000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 10) uniform samplerCubeArray textureUnitPS10;// Tex10 addr 0x3c6ee800 res 16x16x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x6) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem3; -layout(location = 3) in vec4 passParameterSem4; -layout(location = 4) in vec4 passParameterSem7; -layout(location = 5) in vec4 passParameterSem8; -layout(location = 6) in vec4 passParameterSem9; -layout(location = 7) in vec4 passParameterSem11; -layout(location = 8) in vec4 passParameterSem14; -layout(location = 9) in vec4 passParameterSem15; -layout(location = 10) in vec4 passParameterSem16; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -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 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R12f = vec4(0.0); -vec4 R13f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(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; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex10 = 0.0; -R0f = passParameterSem0; -R1f = passParameterSem1; -R2f = passParameterSem3; -R3f = passParameterSem4; -R4f = passParameterSem7; -R5f = passParameterSem8; -R6f = passParameterSem9; -R7f = passParameterSem11; -R8f = passParameterSem14; -R9f = passParameterSem15; -R10f = passParameterSem16; -R11f.xw = (texture(textureUnitPS0, R5f.xy).xw); -R13f.x = (texture(textureUnitPS2, R6f.xy).w); -// 0 -backupReg0f = R7f.z; -R127f.x = mul_nonIEEE(R3f.y, intBitsToFloat(uf_remappedPS[0].y)); -PV0f.y = mul_nonIEEE(R3f.y, intBitsToFloat(uf_remappedPS[0].x)); -R7f.z = -(backupReg0f); -PV0f.z = R7f.z; -R123f.w = (R11f.x * 2.0 + -(1.0)); -PV0f.w = R123f.w; -R127f.z = (R11f.w * 2.0 + -(1.0)); -PS0f = R127f.z; -// 1 -redcCUBE(vec4(PV0f.z,PV0f.z,R7f.x,R7f.y),vec4(R7f.y,R7f.x,PV0f.z,PV0f.z),cubeMapSTM,cubeMapFaceId); -R126f.x = cubeMapSTM.x; -R126f.y = cubeMapSTM.y; -R126f.z = cubeMapSTM.z; -R126f.w = intBitsToFloat(cubeMapFaceId); -PV1f.x = R126f.x; -PV1f.y = R126f.y; -PV1f.z = R126f.z; -PV1f.w = R126f.w; -R7f.x = (mul_nonIEEE(PV0f.y,PV0f.w) + R5f.z); -PS1f = R7f.x; -// 2 -R11f.x = R0f.x + -(R1f.x); -R7f.y = (mul_nonIEEE(R127f.x,R127f.z) + R5f.w); -R5f.z = PV1f.w; -R5f.w = intBitsToFloat(uf_remappedPS[1].x); -PS0f = 1.0 / abs(PV1f.z); -// 3 -R6f.x = R0f.z + -(R1f.z); -R6f.y = R0f.y + -(R1f.y); -R123f.z = (mul_nonIEEE(R126f.y,PS0f) + 1.5); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R126f.x,PS0f) + 1.5); -PV1f.w = R123f.w; -PS1f = 1.0 / R2f.w; -// 4 -R5f.x = PV1f.z; -R5f.y = PV1f.w; -R7f.z = mul_nonIEEE(R2f.x, PS1f); -R7f.w = mul_nonIEEE(R2f.y, PS1f); -R11f.w = 1.0 / R2f.w; -PS0f = R11f.w; -R12f.xyzw = (texture(textureUnitPS1, R7f.xy).xyzw); -R5f.xyz = (textureLod(textureUnitPS10, vec4(redcCUBEReverse(R5f.xy,floatBitsToInt(R5f.z)),cubeMapArrayIndex10),R5f.w).xyz); -R7f.x = (texture(textureUnitPS4, R7f.zw).x); -// 0 -PV0f.x = mul_nonIEEE(R12f.y, R12f.y); -PV0f.y = mul_nonIEEE(R12f.x, R12f.x); -R126f.z = R5f.x * 1.0; -PV0f.w = mul_nonIEEE(R12f.z, R12f.z); -R126f.x = R5f.y * 1.0; -PS0f = R126f.x; -// 1 -PV1f.x = PV0f.w * 1.0; -PV1f.y = PV0f.x * 1.0; -PV1f.z = PV0f.y * 1.0; -R126f.w = R5f.z * 1.0; -R127f.w = R8f.x + 0.0; -PS1f = R127f.w; -// 2 -R127f.x = R8f.y + 0.0; -R126f.y = (mul_nonIEEE(R6f.x,PV1f.x) + R1f.z); -R123f.z = (mul_nonIEEE(R6f.y,PV1f.y) + R1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(R11f.x,PV1f.z) + R1f.x); -PV0f.w = R123f.w; -R127f.y = R8f.z + 0.0; -PS0f = R127f.y; -// 3 -R123f.x = (mul_nonIEEE(R126f.w,intBitsToFloat(uf_remappedPS[2].y)) + 0.0); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[2].y)) + 0.0); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R126f.z,intBitsToFloat(uf_remappedPS[2].y)) + 0.0); -PV1f.z = R123f.z; -R126f.w = mul_nonIEEE(R4f.x, PV0f.w); -R125f.w = mul_nonIEEE(R4f.y, PV0f.z); -PS1f = R125f.w; -// 4 -R2f.x = R2f.z * R11f.w; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),PV1f.y) + R127f.x); -PV0f.y = R123f.y; -PV0f.z = mul_nonIEEE(R4f.z, R126f.y); -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),PV1f.z) + R127f.w); -PV0f.w = R123f.w; -R122f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),PV1f.x) + R127f.y); -PS0f = R122f.x; -// 5 -R127f.x = mul_nonIEEE(R126f.w, PV0f.w); -PV1f.x = R127f.x; -PV1f.y = mul_nonIEEE(R12f.w, R13f.x); -R126f.z = mul_nonIEEE(PV0f.z, PS0f); -PV1f.z = R126f.z; -R126f.w = mul_nonIEEE(R125f.w, PV0f.y); -PV1f.w = R126f.w; -// 6 -PV0f.x = -(PV1f.w) + intBitsToFloat(uf_remappedPS[3].y); -PV0f.y = -(PV1f.x) + intBitsToFloat(uf_remappedPS[3].x); -R123f.z = (mul_nonIEEE(R4f.w,PV1f.y) + -(R0f.w))*4.0; -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV0f.z = R123f.z; -PV0f.w = -(PV1f.z) + intBitsToFloat(uf_remappedPS[3].z); -// 7 -backupReg0f = R127f.x; -backupReg1f = R1f.w; -R127f.x = (mul_nonIEEE(PV0f.w,R10f.y) + R126f.z); -PV1f.x = R127f.x; -R127f.y = (mul_nonIEEE(PV0f.x,R10f.y) + R126f.w); -PV1f.y = R127f.y; -R126f.z = (mul_nonIEEE(PV0f.y,R10f.y) + backupReg0f); -PV1f.z = R126f.z; -R1f.w = mul_nonIEEE(backupReg1f, PV0f.z); -R1f.w = clamp(R1f.w, 0.0, 1.0); -// 8 -PV0f.y = R9f.z + -(PV1f.x); -PV0f.z = R9f.y + -(PV1f.y); -PV0f.w = R9f.x + -(PV1f.z); -// 9 -backupReg0f = R127f.x; -R127f.x = (mul_nonIEEE(PV0f.w,R9f.w) + R126f.z); -PV1f.x = R127f.x; -R126f.z = (mul_nonIEEE(PV0f.y,R9f.w) + backupReg0f); -PV1f.z = R126f.z; -R126f.w = (mul_nonIEEE(PV0f.z,R9f.w) + R127f.y); -PV1f.w = R126f.w; -// 10 -PV0f.x = -(PV1f.w) + intBitsToFloat(uf_remappedPS[4].y); -PV0f.y = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].x); -PV0f.w = -(PV1f.z) + intBitsToFloat(uf_remappedPS[4].z); -// 11 -backupReg0f = R10f.x; -backupReg0f = R10f.x; -backupReg0f = R10f.x; -R10f.x = (mul_nonIEEE(PV0f.y,backupReg0f) + R127f.x); -R10f.y = (mul_nonIEEE(PV0f.x,backupReg0f) + R126f.w); -R10f.z = (mul_nonIEEE(PV0f.w,backupReg0f) + R126f.z); -// 0 -R127f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].w),R7f.x) + intBitsToFloat(uf_remappedPS[5].x)); -R123f.y = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[5].w)) + -(intBitsToFloat(uf_remappedPS[5].y))); -PV0f.y = R123f.y; -// 1 -PS1f = 1.0 / PV0f.y; -// 2 -PV0f.z = -(intBitsToFloat(uf_remappedPS[5].z)) * PS1f; -R126f.z = 1.0 / intBitsToFloat(uf_remappedPS[6].y); -PS0f = R126f.z; -// 3 -PV1f.w = -(PV0f.z) + R127f.x; -// 4 -PV0f.y = PV1f.w * R126f.z; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -// 5 -PV1f.x = mul_nonIEEE(R1f.w, PV0f.y); -// 6 -R10f.w = mul_nonIEEE(R3f.x, PV1f.x); -// export -if( ((vec4(R10f.x, R10f.y, R10f.z, R10f.w)).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(R10f.x * ffred, R10f.y * ffgreen, R10f.z * ffblue, R10f.w * ffopacity); // RGB for fog fields in the distance -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +// shader 527591781440691a -- Controls RGb of the Fog Fields in the distance ans their opacity +#define ffopacity $ffopacity +#define ffred $ffred +#define ffgreen $ffgreen +#define ffblue $ffblue + +uniform ivec4 uf_remappedPS[7]; +uniform float uf_alphaTestRef; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2022c000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x20234000 res 256x64x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 2 0 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x200c2000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 +layout(binding = 10) uniform samplerCubeArray textureUnitPS10;// Tex10 addr 0x3c6ee800 res 16x16x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x6) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem3; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem7; +layout(location = 5) in vec4 passParameterSem8; +layout(location = 6) in vec4 passParameterSem9; +layout(location = 7) in vec4 passParameterSem11; +layout(location = 8) in vec4 passParameterSem14; +layout(location = 9) in vec4 passParameterSem15; +layout(location = 10) in vec4 passParameterSem16; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; +void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) +{ +// stm -> x .. s, y .. t, z .. MajorAxis*2.0 +vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); +float rx = inputCoord.x; +float ry = inputCoord.y; +float rz = inputCoord.z; +if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) +{ +stm.z = rx*2.0; +stm.xy = vec2(ry,rz); +if( rx >= 0.0 ) +{ +faceId = 0; +} +else +{ +faceId = 1; +} +} +else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) +{ +stm.z = ry*2.0; +stm.xy = vec2(rx,rz); +if( ry >= 0.0 ) +{ +faceId = 2; +} +else +{ +faceId = 3; +} +} +else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) +{ +stm.z = rz*2.0; +stm.xy = vec2(rx,ry); +if( rz >= 0.0 ) +{ +faceId = 4; +} +else +{ +faceId = 5; +} +} +} +vec3 redcCUBEReverse(vec2 st, int faceId) +{ +st.yx = st.xy; +vec3 v; +float majorAxis = 1.0; +if( faceId == 0 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = 1.0; +} +else if( faceId == 1 ) +{ +v.yz = (st-vec2(1.5))*(majorAxis*2.0); +v.x = -1.0; +} +else if( faceId == 2 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = 1.0; +} +else if( faceId == 3 ) +{ +v.xz = (st-vec2(1.5))*(majorAxis*2.0); +v.y = -1.0; +} +else if( faceId == 4 ) +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = 1.0; +} +else +{ +v.xy = (st-vec2(1.5))*(majorAxis*2.0); +v.z = -1.0; +} +return v; +} +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +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 R8f = vec4(0.0); +vec4 R9f = vec4(0.0); +vec4 R10f = vec4(0.0); +vec4 R11f = vec4(0.0); +vec4 R12f = vec4(0.0); +vec4 R13f = vec4(0.0); +vec4 R122f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(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; +vec3 cubeMapSTM; +int cubeMapFaceId; +float cubeMapArrayIndex10 = 0.0; +R0f = passParameterSem0; +R1f = passParameterSem1; +R2f = passParameterSem3; +R3f = passParameterSem4; +R4f = passParameterSem7; +R5f = passParameterSem8; +R6f = passParameterSem9; +R7f = passParameterSem11; +R8f = passParameterSem14; +R9f = passParameterSem15; +R10f = passParameterSem16; +R11f.xw = (texture(textureUnitPS0, R5f.xy).xw); +R13f.x = (texture(textureUnitPS2, R6f.xy).w); +// 0 +backupReg0f = R7f.z; +R127f.x = mul_nonIEEE(R3f.y, intBitsToFloat(uf_remappedPS[0].y)); +PV0f.y = mul_nonIEEE(R3f.y, intBitsToFloat(uf_remappedPS[0].x)); +R7f.z = -(backupReg0f); +PV0f.z = R7f.z; +R123f.w = (R11f.x * 2.0 + -(1.0)); +PV0f.w = R123f.w; +R127f.z = (R11f.w * 2.0 + -(1.0)); +PS0f = R127f.z; +// 1 +redcCUBE(vec4(PV0f.z,PV0f.z,R7f.x,R7f.y),vec4(R7f.y,R7f.x,PV0f.z,PV0f.z),cubeMapSTM,cubeMapFaceId); +R126f.x = cubeMapSTM.x; +R126f.y = cubeMapSTM.y; +R126f.z = cubeMapSTM.z; +R126f.w = intBitsToFloat(cubeMapFaceId); +PV1f.x = R126f.x; +PV1f.y = R126f.y; +PV1f.z = R126f.z; +PV1f.w = R126f.w; +R7f.x = (mul_nonIEEE(PV0f.y,PV0f.w) + R5f.z); +PS1f = R7f.x; +// 2 +R11f.x = R0f.x + -(R1f.x); +R7f.y = (mul_nonIEEE(R127f.x,R127f.z) + R5f.w); +R5f.z = PV1f.w; +R5f.w = intBitsToFloat(uf_remappedPS[1].x); +PS0f = 1.0 / abs(PV1f.z); +// 3 +R6f.x = R0f.z + -(R1f.z); +R6f.y = R0f.y + -(R1f.y); +R123f.z = (mul_nonIEEE(R126f.y,PS0f) + 1.5); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(R126f.x,PS0f) + 1.5); +PV1f.w = R123f.w; +PS1f = 1.0 / R2f.w; +// 4 +R5f.x = PV1f.z; +R5f.y = PV1f.w; +R7f.z = mul_nonIEEE(R2f.x, PS1f); +R7f.w = mul_nonIEEE(R2f.y, PS1f); +R11f.w = 1.0 / R2f.w; +PS0f = R11f.w; +R12f.xyzw = (texture(textureUnitPS1, R7f.xy).xyzw); +R5f.xyz = (textureLod(textureUnitPS10, vec4(redcCUBEReverse(R5f.xy,floatBitsToInt(R5f.z)),cubeMapArrayIndex10),R5f.w).xyz); +R7f.x = (texture(textureUnitPS4, R7f.zw).x); +// 0 +PV0f.x = mul_nonIEEE(R12f.y, R12f.y); +PV0f.y = mul_nonIEEE(R12f.x, R12f.x); +R126f.z = R5f.x * 1.0; +PV0f.w = mul_nonIEEE(R12f.z, R12f.z); +R126f.x = R5f.y * 1.0; +PS0f = R126f.x; +// 1 +PV1f.x = PV0f.w * 1.0; +PV1f.y = PV0f.x * 1.0; +PV1f.z = PV0f.y * 1.0; +R126f.w = R5f.z * 1.0; +R127f.w = R8f.x + 0.0; +PS1f = R127f.w; +// 2 +R127f.x = R8f.y + 0.0; +R126f.y = (mul_nonIEEE(R6f.x,PV1f.x) + R1f.z); +R123f.z = (mul_nonIEEE(R6f.y,PV1f.y) + R1f.y); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(R11f.x,PV1f.z) + R1f.x); +PV0f.w = R123f.w; +R127f.y = R8f.z + 0.0; +PS0f = R127f.y; +// 3 +R123f.x = (mul_nonIEEE(R126f.w,intBitsToFloat(uf_remappedPS[2].y)) + 0.0); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(R126f.x,intBitsToFloat(uf_remappedPS[2].y)) + 0.0); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(R126f.z,intBitsToFloat(uf_remappedPS[2].y)) + 0.0); +PV1f.z = R123f.z; +R126f.w = mul_nonIEEE(R4f.x, PV0f.w); +R125f.w = mul_nonIEEE(R4f.y, PV0f.z); +PS1f = R125f.w; +// 4 +R2f.x = R2f.z * R11f.w; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),PV1f.y) + R127f.x); +PV0f.y = R123f.y; +PV0f.z = mul_nonIEEE(R4f.z, R126f.y); +R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),PV1f.z) + R127f.w); +PV0f.w = R123f.w; +R122f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),PV1f.x) + R127f.y); +PS0f = R122f.x; +// 5 +R127f.x = mul_nonIEEE(R126f.w, PV0f.w); +PV1f.x = R127f.x; +PV1f.y = mul_nonIEEE(R12f.w, R13f.x); +R126f.z = mul_nonIEEE(PV0f.z, PS0f); +PV1f.z = R126f.z; +R126f.w = mul_nonIEEE(R125f.w, PV0f.y); +PV1f.w = R126f.w; +// 6 +PV0f.x = -(PV1f.w) + intBitsToFloat(uf_remappedPS[3].y); +PV0f.y = -(PV1f.x) + intBitsToFloat(uf_remappedPS[3].x); +R123f.z = (mul_nonIEEE(R4f.w,PV1f.y) + -(R0f.w))*4.0; +R123f.z = clamp(R123f.z, 0.0, 1.0); +PV0f.z = R123f.z; +PV0f.w = -(PV1f.z) + intBitsToFloat(uf_remappedPS[3].z); +// 7 +backupReg0f = R127f.x; +backupReg1f = R1f.w; +R127f.x = (mul_nonIEEE(PV0f.w,R10f.y) + R126f.z); +PV1f.x = R127f.x; +R127f.y = (mul_nonIEEE(PV0f.x,R10f.y) + R126f.w); +PV1f.y = R127f.y; +R126f.z = (mul_nonIEEE(PV0f.y,R10f.y) + backupReg0f); +PV1f.z = R126f.z; +R1f.w = mul_nonIEEE(backupReg1f, PV0f.z); +R1f.w = clamp(R1f.w, 0.0, 1.0); +// 8 +PV0f.y = R9f.z + -(PV1f.x); +PV0f.z = R9f.y + -(PV1f.y); +PV0f.w = R9f.x + -(PV1f.z); +// 9 +backupReg0f = R127f.x; +R127f.x = (mul_nonIEEE(PV0f.w,R9f.w) + R126f.z); +PV1f.x = R127f.x; +R126f.z = (mul_nonIEEE(PV0f.y,R9f.w) + backupReg0f); +PV1f.z = R126f.z; +R126f.w = (mul_nonIEEE(PV0f.z,R9f.w) + R127f.y); +PV1f.w = R126f.w; +// 10 +PV0f.x = -(PV1f.w) + intBitsToFloat(uf_remappedPS[4].y); +PV0f.y = -(PV1f.x) + intBitsToFloat(uf_remappedPS[4].x); +PV0f.w = -(PV1f.z) + intBitsToFloat(uf_remappedPS[4].z); +// 11 +backupReg0f = R10f.x; +backupReg0f = R10f.x; +backupReg0f = R10f.x; +R10f.x = (mul_nonIEEE(PV0f.y,backupReg0f) + R127f.x); +R10f.y = (mul_nonIEEE(PV0f.x,backupReg0f) + R126f.w); +R10f.z = (mul_nonIEEE(PV0f.w,backupReg0f) + R126f.z); +// 0 +R127f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].w),R7f.x) + intBitsToFloat(uf_remappedPS[5].x)); +R123f.y = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedPS[5].w)) + -(intBitsToFloat(uf_remappedPS[5].y))); +PV0f.y = R123f.y; +// 1 +PS1f = 1.0 / PV0f.y; +// 2 +PV0f.z = -(intBitsToFloat(uf_remappedPS[5].z)) * PS1f; +R126f.z = 1.0 / intBitsToFloat(uf_remappedPS[6].y); +PS0f = R126f.z; +// 3 +PV1f.w = -(PV0f.z) + R127f.x; +// 4 +PV0f.y = PV1f.w * R126f.z; +PV0f.y = clamp(PV0f.y, 0.0, 1.0); +// 5 +PV1f.x = mul_nonIEEE(R1f.w, PV0f.y); +// 6 +R10f.w = mul_nonIEEE(R3f.x, PV1f.x); +// export +if( ((vec4(R10f.x, R10f.y, R10f.z, R10f.w)).a > uf_alphaTestRef) == false) discard; +passPixelColor0 = vec4(R10f.x * ffred, R10f.y * ffgreen, R10f.z * ffblue, R10f.w * ffopacity); // RGB for fog fields in the distance +} diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/ReadMe.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/ReadMe.txt similarity index 89% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/ReadMe.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/ReadMe.txt index 7f169d7d..574b6024 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/ReadMe.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/ReadMe.txt @@ -1,21 +1,21 @@ -# Information -# by SkalFate -# ---------------------- - -Example Preset : - -// Changing it here doesn't do anything, this is for demonstration. Change it in rules.txt file instead. - -[Preset] -name = Custom Preset -$ffopacity = 1 -$ffred = 2 -$ffgreen = 1 -$ffblue = 2 - -# (ffopacity) = Fog Transparency/Opacity - how thick you want the fog fields to look -# 0 = transparent -# ------ Values are multiplied, so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] - -# (ffred, ffgreen, ffblue ) = RGB - Red, Green, Blue - Changes the color of the fog fields. +# Information +# by SkalFate +# ---------------------- + +Example Preset : + +// Changing it here doesn't do anything, this is for demonstration. Change it in rules.txt file instead. + +[Preset] +name = Custom Preset +$ffopacity = 1 +$ffred = 2 +$ffgreen = 1 +$ffblue = 2 + +# (ffopacity) = Fog Transparency/Opacity - how thick you want the fog fields to look +# 0 = transparent +# ------ Values are multiplied, so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] + +# (ffred, ffgreen, ffblue ) = RGB - Red, Green, Blue - Changes the color of the fog fields. # ------ Values are multiplied so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt similarity index 87% rename from Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt rename to Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt index 7c10c31b..d75f3e48 100644 --- a/Enhancements/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt +++ b/Mods/BreathOfTheWild_DistantFogRemoval/Botw_WorldFogFields/rules.txt @@ -1,100 +1,100 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = Fog Fields Pack -path = "The Legend of Zelda: Breath of the Wild/Enhancements/Distant Fog Removal/World Fog Fields" -description = Can Remove Fog Fields from the whole world. Change its RGB color. -version = 3 - - -[Preset] -name = Fog Fields Disabled -$ffopacity = 0 -$ffred = 1 -$ffgreen = 1 -$ffblue = 1 - -[Preset] -name = Fog Fields Enabled -$ffopacity = 1 -$ffred = 1 -$ffgreen = 1 -$ffblue = 1 - -[Preset] -name = ---------------------------------------- -$ffopacity = 1 -$ffred = 1 -$ffgreen = 1 -$ffblue = 1 - -[Preset] -name = Fog Fields Opacity 50% -$ffopacity = 0.5 -$ffred = 1 -$ffgreen = 1 -$ffblue = 1 - -[Preset] -name = Fog Fields Opacity 2x -$ffopacity = 2 -$ffred = 1 -$ffgreen = 1 -$ffblue = 1 - -[Preset] -name = Fog Fields Opacity 3x -$ffopacity = 3 -$ffred = 1 -$ffgreen = 1 -$ffblue = 1 - -[Preset] -name = ---------------------------------------- -$ffopacity = 1 -$ffred = 1 -$ffgreen = 1 -$ffblue = 1 - -[Preset] -name = Fog Fields Red -$ffopacity = 1 -$ffred = 1 -$ffgreen = 0 -$ffblue = 0 - -[Preset] -name = Fog Fields Green -$ffopacity = 1 -$ffred = 0 -$ffgreen = 1 -$ffblue = 0 - -[Preset] -name = Fog Fields Blue -$ffopacity = 1 -$ffred = 0 -$ffgreen = 0 -$ffblue = 1 - -[Preset] -name = ---------------------------------------- -$ffopacity = 1 -$ffred = 1 -$ffgreen = 1 -$ffblue = 1 - -[Preset] -name = Custom Preset -$ffopacity = 1 -$ffred = 2 -$ffgreen = 1 -$ffblue = 2 - -# Information -# by SkalFate -# ---------------------- -# (ffopacity) = Fog Transparency/Opacity - how thick or thin you want the fog fields to look -# ------ Values are multiplied, so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] - -# (ffred, ffgreen, ffblue ) = RGB - Red, Green, Blue - Changes the color of the fog fields. +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Fog Fields Pack +path = "The Legend of Zelda: Breath of the Wild/Mods/Distant Fog Removal/World Fog Fields" +description = Can Remove Fog Fields from the whole world. Change its RGB color. +version = 3 + + +[Preset] +name = Fog Fields Disabled +$ffopacity = 0 +$ffred = 1 +$ffgreen = 1 +$ffblue = 1 + +[Preset] +name = Fog Fields Enabled +$ffopacity = 1 +$ffred = 1 +$ffgreen = 1 +$ffblue = 1 + +[Preset] +name = ---------------------------------------- +$ffopacity = 1 +$ffred = 1 +$ffgreen = 1 +$ffblue = 1 + +[Preset] +name = Fog Fields Opacity 50% +$ffopacity = 0.5 +$ffred = 1 +$ffgreen = 1 +$ffblue = 1 + +[Preset] +name = Fog Fields Opacity 2x +$ffopacity = 2 +$ffred = 1 +$ffgreen = 1 +$ffblue = 1 + +[Preset] +name = Fog Fields Opacity 3x +$ffopacity = 3 +$ffred = 1 +$ffgreen = 1 +$ffblue = 1 + +[Preset] +name = ---------------------------------------- +$ffopacity = 1 +$ffred = 1 +$ffgreen = 1 +$ffblue = 1 + +[Preset] +name = Fog Fields Red +$ffopacity = 1 +$ffred = 1 +$ffgreen = 0 +$ffblue = 0 + +[Preset] +name = Fog Fields Green +$ffopacity = 1 +$ffred = 0 +$ffgreen = 1 +$ffblue = 0 + +[Preset] +name = Fog Fields Blue +$ffopacity = 1 +$ffred = 0 +$ffgreen = 0 +$ffblue = 1 + +[Preset] +name = ---------------------------------------- +$ffopacity = 1 +$ffred = 1 +$ffgreen = 1 +$ffblue = 1 + +[Preset] +name = Custom Preset +$ffopacity = 1 +$ffred = 2 +$ffgreen = 1 +$ffblue = 2 + +# Information +# by SkalFate +# ---------------------- +# (ffopacity) = Fog Transparency/Opacity - how thick or thin you want the fog fields to look +# ------ Values are multiplied, so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] + +# (ffred, ffgreen, ffblue ) = RGB - Red, Green, Blue - Changes the color of the fog fields. # ------ Values are multiplied so if you want to lower use [0.01 - 1.0], or if you want to go higher go from [1.0 - X.X] \ No newline at end of file diff --git a/docs/img/avatar-icon.png b/docs/img/avatar-icon.png index 4239b9cf8e368ac65fa1393850e43af4ee466ce8..9b7d880985a5e3a70aaca61ef29b24e18ee117c4 100644 GIT binary patch delta 13 UcmX@Beny?8Gr-S%BkKua03_W6>i_@% delta 14 VcmX@3epa2eGr-TCcO%OQVE`z71o!{|