diff --git a/Filters/Bicubic (4 taps)/output.glsl b/Filters/Bicubic (4 taps)/output.glsl new file mode 100644 index 00000000..59ecbc54 --- /dev/null +++ b/Filters/Bicubic (4 taps)/output.glsl @@ -0,0 +1,48 @@ + +#version 420 + +in vec2 passUV; +layout(binding=0) uniform sampler2D textureSrc; +uniform vec2 textureSrcResolution; +layout(location = 0) out vec4 colorOut0; + +vec4 cubic(float x) +{ + float x2 = x * x; + float x3 = x2 * x; + vec4 w; + w.x = -x3 + 3 * x2 - 3 * x + 1; + w.y = 3 * x3 - 6 * x2 + 4; + w.z = -3 * x3 + 3 * x2 + 3 * x + 1; + w.w = x3; + return w / 6.0; +} + +vec4 bcFilter(vec2 texcoord, vec2 texscale) +{ + vec2 tc = floor( texcoord - 0.5 ) + 0.5; + vec2 f = texcoord - tc; + + vec4 xcubic = cubic(f.x); + vec4 ycubic = cubic(f.y); + + vec4 c = vec4(tc.x - 1.0, tc.x + 1.0, tc.y - 1.0, tc.y + 1.0); + vec4 s = vec4(xcubic.x + xcubic.y, xcubic.z + xcubic.w, ycubic.x + ycubic.y, ycubic.z + ycubic.w); + vec4 offset = c + vec4(xcubic.y, xcubic.w, ycubic.y, ycubic.w) / s; + + vec4 sample0 = texture(textureSrc, vec2(offset.x, offset.z) * texscale); + vec4 sample1 = texture(textureSrc, vec2(offset.y, offset.z) * texscale); + vec4 sample2 = texture(textureSrc, vec2(offset.x, offset.w) * texscale); + vec4 sample3 = texture(textureSrc, vec2(offset.y, offset.w) * texscale); + + float sx = s.x / (s.x + s.y); + float sy = s.z / (s.z + s.w); + + return mix( + mix(sample3, sample2, sx), + mix(sample1, sample0, sx), sy); +} + +void main(){ + colorOut0 = vec4(bcFilter(passUV*textureSrcResolution, vec2(1.0,1.0)/textureSrcResolution).rgb,1.0); +} diff --git a/Filters/Bicubic (4 taps)/rules.txt b/Filters/Bicubic (4 taps)/rules.txt new file mode 100644 index 00000000..0a42ff77 --- /dev/null +++ b/Filters/Bicubic (4 taps)/rules.txt @@ -0,0 +1,10 @@ +[Definition] +name = Optimized Bicubic B-spline resampler +titleIds = +path = "Filters/Bicubic (4 taps)" +description = Cemu's Bicubic. Because it's B-spline so it was optimized down to 4 taps. +version = 3 + +[OutputShader] +upscaleMagFilter = Linear +downscaleMagFilter = Linear diff --git a/Filters/Bicubic/output.glsl b/Filters/Bicubic/output.glsl new file mode 100644 index 00000000..23a4574a --- /dev/null +++ b/Filters/Bicubic/output.glsl @@ -0,0 +1,97 @@ +// https://github.com/obsproject/obs-studio/blob/master/libobs/data/bicubic_scale.effect // added customizable polynomials back + +#version 420 + +in vec2 passUV; +layout(binding=0) uniform sampler2D textureSrc; +uniform vec2 textureSrcResolution; +layout(location = 0) out vec4 colorOut0; + +float weight(float x) +{ + float ax = abs(x); + + const float B = $b; + const float C = $c; + + if (ax < 2.0) { + float x_squared = x * x; + if (ax < 1.0) { + return (x_squared * + ((12.0 - 9.0 * B - 6.0 * C) * ax + + (-18.0 + 12.0 * B + 6.0 * C)) + + (6.0 - 2.0 * B)) + / 6.0; + } + + return (x_squared * + ((-B - 6.0 * C) * ax + (6.0 * B + 30.0 * C)) + + (-12.0 * B - 48.0 * C) * ax + + (8.0 * B + 24.0 * C)) + / 6.0; + } + + return 0.0; +} + +vec4 weight4(float x) +{ + return vec4( + weight(x - 2.0), + weight(x - 1.0), + weight(x), + weight(x + 1.0)); +} + +vec4 DrawBicubic(vec2 f_in) +{ + vec2 stepxy = 1.0/textureSrcResolution; + vec2 pos = f_in.st + stepxy * 0.5; + vec2 f = fract(pos * textureSrcResolution); + + vec4 rowtaps = weight4(1.0 - f.x); + vec4 coltaps = weight4(1.0 - f.y); + + vec2 uv0 = (-1.5 - f) * stepxy + pos; + vec2 uv1 = uv0 + stepxy; + vec2 uv2 = uv1 + stepxy; + vec2 uv3 = uv2 + stepxy; + + float u_weight_sum = rowtaps.y + rowtaps.z; + float u_middle_offset = rowtaps.z * stepxy.x / u_weight_sum; + float u_middle = uv1.x + u_middle_offset; + + float v_weight_sum = coltaps.y + coltaps.z; + float v_middle_offset = coltaps.z * stepxy.y / v_weight_sum; + float v_middle = uv1.y + v_middle_offset; + + // wrap doesn't apply to texelFetch + // clamp +// ivec2 coord_top_left = ivec2(max(uv0 * textureSrcResolution, 0.5)); +// ivec2 coord_bottom_right = ivec2(min(uv3 * textureSrcResolution, textureSrcResolution - 0.5)); + // mirror + ivec2 coord_top_left = ivec2(abs(uv0 * textureSrcResolution)); + ivec2 coord_bottom_right = ivec2(textureSrcResolution - abs(uv3 * textureSrcResolution - textureSrcResolution)); + + vec4 top = texelFetch(textureSrc, ivec2(coord_top_left), 0) * rowtaps.x; + top += texture(textureSrc, vec2(u_middle, uv0.y)) * u_weight_sum; + top += texelFetch(textureSrc, ivec2(coord_bottom_right.x, coord_top_left.y), 0) * rowtaps.w; + vec4 total = top * coltaps.x; + + vec4 middle = texture(textureSrc, vec2(uv0.x, v_middle)) * rowtaps.x; + middle += texture(textureSrc, vec2(u_middle, v_middle)) * u_weight_sum; + middle += texture(textureSrc, vec2(uv3.x, v_middle)) * rowtaps.w; + total += middle * v_weight_sum; + + vec4 bottom = texelFetch(textureSrc, ivec2(coord_top_left.x, coord_bottom_right.y), 0) * rowtaps.x; + bottom += texture(textureSrc, vec2(u_middle, uv3.y)) * u_weight_sum; + bottom += texelFetch(textureSrc, ivec2(coord_bottom_right), 0) * rowtaps.w; + total += bottom * coltaps.w; + + return total; +} + +void main() +{ + colorOut0 = vec4(DrawBicubic(passUV).rgb,1.0); +} \ No newline at end of file diff --git a/Filters/Bicubic/rules.txt b/Filters/Bicubic/rules.txt new file mode 100644 index 00000000..7c2be14e --- /dev/null +++ b/Filters/Bicubic/rules.txt @@ -0,0 +1,39 @@ +[Definition] +name = Optimized Bicubic spline resampler +titleIds = +path = "Filters/Bicubic" +description = The b and c can adjust the properties of the cubic; sometimes referred to as "blurring" and "ringing" respectively. +version = 3 + +[OutputShader] +upscaleMagFilter = Linear +downscaleMagFilter = Linear + +[Preset] +name = Catmull-Rom +$b = 0.0 +$c = 0.5 + +[Preset] +name = Mitchell-Netravali +$b = 1/3 +$c = 1/3 + +[Preset] +name = B-spline +$b = 1.0 +$c = 0.0 + +[Preset] +name = Photoshop +$b = 0.0 +$c = 0.75 + +[Preset] +name = Custom (edit in rule.txt) +$b = 0.0 +$c = 0.0 + +# Generally b,c >= 0. the shader can't produce negative weight at 0-1 because of bilinear optimization +# But some combinations of negative b,c might have non-negative weight +# Optionally [b + 2c = 1] for numerically accurate filter diff --git a/Filters/Jinc/output.glsl b/Filters/Jinc/output.glsl new file mode 100644 index 00000000..db2f3bcf --- /dev/null +++ b/Filters/Jinc/output.glsl @@ -0,0 +1,128 @@ +// https://github.com/libretro/glsl-shaders/blob/master/nnedi3/shaders/jinc2-cshift-rgb.glsl +// https://github.com/libretro/common-shaders/blob/master/nedi/shaders/nedi-jinc.cg +// https://cemuhook.sshnuke.net/sampleResizers.zip +/* + Hyllian's jinc windowed-jinc 2-lobe with anti-ringing Shader + + Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#version 420 + +in vec2 passUV; +layout(binding=0) uniform sampler2D textureSrc; +uniform vec2 textureSrcResolution; +layout(location = 0) out vec4 colorOut0; + +/* + This is an approximation of Jinc(x)*Jinc(x*r1/r2) for x < 2.5, + where r1 and r2 are the first two zeros of jinc function. + For a jinc 2-lobe best approximation, use A=0.5 and B=0.825. +*/ + +// #define halfpi 1.5707963267948966192313216916398 // not used? +#define pi 3.1415926535897932384626433832795 +#define wa ($Window_Sinc*pi) +#define wb ($SINC*pi) + + +float resampler(vec2 pt1, vec2 pt2) +{ + vec2 v = pt2 - pt1; + float d = sqrt(dot(v,v)); // Calculates the distance between two points + + return (d==0.0) ? wa*wb : sin(d*wa)*sin(d*wb)/(d*d); +} + +vec3 min4(vec3 a, vec3 b, vec3 c, vec3 d) +{ + return min(a, min(b, min(c, d))); +} + +vec3 max4(vec3 a, vec3 b, vec3 c, vec3 d) +{ + return max(a, max(b, max(c, d))); +} + +vec4 JINC2_sharp(vec2 texture_size, vec2 texCoord) +{ + vec3 color; + mat4x4 weights; + + vec2 dx = vec2(1.0, 0.0); + vec2 dy = vec2(0.0, 1.0); + + vec2 pc = texCoord*texture_size; + + vec2 tc = (floor(pc-vec2(0.5,0.5))+vec2(0.5,0.5)); + + weights[0] = vec4(resampler(pc, tc -dx -dy), resampler(pc, tc -dy), resampler(pc, tc +dx -dy), resampler(pc, tc+2.0*dx -dy)); + weights[1] = vec4(resampler(pc, tc -dx ), resampler(pc, tc ), resampler(pc, tc +dx ), resampler(pc, tc+2.0*dx )); + weights[2] = vec4(resampler(pc, tc -dx +dy), resampler(pc, tc +dy), resampler(pc, tc +dx +dy), resampler(pc, tc+2.0*dx +dy)); + weights[3] = vec4(resampler(pc, tc -dx+2.0*dy), resampler(pc, tc +2.0*dy), resampler(pc, tc +dx+2.0*dy), resampler(pc, tc+2.0*dx+2.0*dy)); + + dx = dx/texture_size; + dy = dy/texture_size; + tc = tc/texture_size; + + // reading the texels + vec3 c00 = texture(textureSrc, tc -dx -dy).xyz; + vec3 c10 = texture(textureSrc, tc -dy).xyz; + vec3 c20 = texture(textureSrc, tc +dx -dy).xyz; + vec3 c30 = texture(textureSrc, tc+2.0*dx -dy).xyz; + vec3 c01 = texture(textureSrc, tc -dx ).xyz; + vec3 c11 = texture(textureSrc, tc ).xyz; + vec3 c21 = texture(textureSrc, tc +dx ).xyz; + vec3 c31 = texture(textureSrc, tc+2.0*dx ).xyz; + vec3 c02 = texture(textureSrc, tc -dx +dy).xyz; + vec3 c12 = texture(textureSrc, tc +dy).xyz; + vec3 c22 = texture(textureSrc, tc +dx +dy).xyz; + vec3 c32 = texture(textureSrc, tc+2.0*dx +dy).xyz; + vec3 c03 = texture(textureSrc, tc -dx+2.0*dy).xyz; + vec3 c13 = texture(textureSrc, tc +2.0*dy).xyz; + vec3 c23 = texture(textureSrc, tc +dx+2.0*dy).xyz; + vec3 c33 = texture(textureSrc, tc+2.0*dx+2.0*dy).xyz; + + // Get min/max samples + vec3 min_sample = min4(c11, c21, c12, c22); + vec3 max_sample = max4(c11, c21, c12, c22); + + color = mat4x3(c00, c10, c20, c30) * weights[0]; + color+= mat4x3(c01, c11, c21, c31) * weights[1]; + color+= mat4x3(c02, c12, c22, c32) * weights[2]; + color+= mat4x3(c03, c13, c23, c33) * weights[3]; + color = color / dot(weights * vec4(1.0), vec4(1.0)); + + // Anti-ringing + vec3 aux = color; + color = clamp(color, min_sample, max_sample); + + color = mix(aux, color, $Anti_Ringing); + + // final sum and weight normalization + return vec4(color, 1.0); +} + +void main() +{ + colorOut0 = JINC2_sharp(textureSrcResolution, passUV); +} \ No newline at end of file diff --git a/Filters/Jinc/rules.txt b/Filters/Jinc/rules.txt new file mode 100644 index 00000000..477aa131 --- /dev/null +++ b/Filters/Jinc/rules.txt @@ -0,0 +1,47 @@ +[Definition] +name = Jinc windowed-jinc with anti-ringing +titleIds = +path = "Filters/Jinc" +description = This is an approximation of Jinc. If B=1.0, it's a lanczos filter. +version = 3 + +[OutputShader] # need texels +upscaleMagFilter = NearestNeighbor +downscaleMagFilter = NearestNeighbor + +[Preset] +name = Jinc +$Window_Sinc = 0.5 +$SINC = 0.825 +$Anti_Ringing = 0.5 + +[Preset] +name = Lanczos +$Window_Sinc = 0.5 +$SINC = 1.0 +$Anti_Ringing = 0.8 + +[Preset] +name = preset3 in nnedi3 +$Window_Sinc = 0.44 +$SINC = 0.82 +$Anti_Ringing = 0.5 + +[Preset] +name = preset4 in nedi +$Window_Sinc = 0.42 +$SINC = 0.92 +$Anti_Ringing = 0.8 + +[Preset] +name = custom (edit in rules.txt) +$Window_Sinc = 0.5 +$SINC = 0.825 +$Anti_Ringing = 0.8 + +# $Window_Sinc == A; $SINC == B. +# Increase A to get more blur. Decrease it to get a sharper picture. +# B = 0.825 to get rid of dithering. Increase B to get a fine sharpness, though dithering returns. + +# $Anti_Ringing reduces overshoot. +# Setting it to 1 prevents overshoot, which might cause pixels sticking together. diff --git a/Mods/BatmanArkhamOrigins_60FPS/patches.txt b/Mods/BatmanArkhamOrigins_60FPS/patches.txt new file mode 100644 index 00000000..3843a4be --- /dev/null +++ b/Mods/BatmanArkhamOrigins_60FPS/patches.txt @@ -0,0 +1,35 @@ +[Bat60FpsVerv1] +moduleMatches = 0xB5EB56F6 + +# Location for .float 60.00 +_float = 0x10000a08 + +CodeCaveSize = 0x0c + +_60fps = 0x00000000 +0X00000000 = lis r3,_float@h +0X00000004 = lfs f1,_float@l(r3) +0X00000008 = blr + +0x024d3164 = bla _60fps +#0x024d3164 = lfs f1,04e0(r3) #0x42F584E0 +0x02C82558 = nop #Vsync +0x02C82504 = nop #SwapInterval + + +[Bat60FpsVerv16] +moduleMatches = 0x10A2A41A + +# Location for .float 60.00 +_float = 0x10000a08 + +CodeCaveSize = 0x0c + +_60fps = 0x00000000 +0X00000000 = lis r3,_float@h +0X00000004 = lfs f1,_float@l(r3) +0X00000008 = blr + +0x24D4E68 = bla _60fps +#0x024D4E68 = lfs f1,0x4E0(r3) +0x02C837FC = nop #Vsync \ No newline at end of file diff --git a/Mods/BatmanArkhamOrigins_60FPS/rules.txt b/Mods/BatmanArkhamOrigins_60FPS/rules.txt new file mode 100644 index 00000000..84830d05 --- /dev/null +++ b/Mods/BatmanArkhamOrigins_60FPS/rules.txt @@ -0,0 +1,11 @@ +[Definition] +titleIds = 0005000010136c00,0005000010137c00,0005000010154500,000500001016d300,000500001016df00 +path = "Batman: Arkham Origins/Mods/60FPS" +description = Important: This patches the gameplay to be in 60FPS. Getting under 60FPS will slow down the game's speed. +version = 3 + +[Control] +#Give boost to performance +vsyncFrequency = 120 + +# Made by theboy181 diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/56bdb3903699990d_0000079a492a9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/56bdb3903699990d_0000079a492a9249_ps.txt new file mode 100644 index 00000000..45652267 --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/56bdb3903699990d_0000079a492a9249_ps.txt @@ -0,0 +1,1048 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Factor = $L_f; + +// Armor When Link is transparent +// textureUnitPS12 uf_blockPS8[23].xyz uf_blockPS8[31].x + +// shader 56bdb3903699990d +uniform vec2 uf_fragCoordScale; +layout(binding = 33, std140) +uniform uniformBlockPS1 +{ +vec4 uf_blockPS1[1024]; +}; + + +layout(binding = 38, std140) +uniform uniformBlockPS6 +{ +vec4 uf_blockPS6[1024]; +}; + + +layout(binding = 40, std140) +uniform uniformBlockPS8 +{ +vec4 uf_blockPS8[1024]; +}; + + +layout(binding = 42, std140) +uniform uniformBlockPS10 +{ +vec4 uf_blockPS10[1024]; +}; + + +layout(binding = 0) uniform sampler2D textureUnitPS0; +layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1; +layout(binding = 2) uniform sampler2D textureUnitPS2; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(binding = 6) uniform sampler2D textureUnitPS6; +layout(binding = 7) uniform sampler3D textureUnitPS7; +layout(binding = 8) uniform sampler2DArray textureUnitPS8; +layout(binding = 9) uniform sampler2D textureUnitPS9; +layout(binding = 10) uniform sampler2D textureUnitPS10; +layout(binding = 11) uniform sampler2D textureUnitPS11; +layout(binding = 12) uniform sampler2D textureUnitPS12; +layout(binding = 13) uniform sampler2D textureUnitPS13; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem2; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem5; +layout(location = 5) in vec4 passParameterSem7; +layout(location = 6) in vec4 passParameterSem8; +layout(location = 7) in vec4 passParameterSem9; +layout(location = 0) out vec4 passPixelColor0; +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 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; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem1); +R2i = floatBitsToInt(passParameterSem2); +R3i = floatBitsToInt(passParameterSem4); +R4i = floatBitsToInt(passParameterSem5); +R5i = floatBitsToInt(passParameterSem7); +R6i = floatBitsToInt(passParameterSem8); +R7i = floatBitsToInt(passParameterSem9); +if( activeMaskStackC[1] == true ) { +R8i.xy = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R0i.xy)).xy); +R1i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R1i.xy)).xyz); +R9i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R0i.zw)).xyz); +R3i.w = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R0i.xy)).x); +R11i.xyz = floatBitsToInt(texture(textureUnitPS9, intBitsToFloat(R0i.xy)).xyz); +} +if( activeMaskStackC[1] == true ) { +// 0 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R4i.x))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R4i.z))); +R127i.z = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV0i.z = R127i.z; +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R4i.y))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R7i.w)); +// 1 +backupReg0i = R7i.x; +backupReg1i = R7i.y; +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); +R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i))); +R123i.z = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); +R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.y)),intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.y))); +PS1i = R126i.w; +// 2 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.x)),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.w))); +R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.z)),intBitsToFloat(R3i.x)) + intBitsToFloat(backupReg0i))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.w))); +R123i.z = clampFI32(R123i.z); +PV0i.z = R123i.z; +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PV1i.z))); +R8i.y = floatBitsToInt(fract(intBitsToFloat(R6i.y))); +PS0i = R8i.y; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); +PS1i = R126i.z; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R127i.w))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.w))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.w))); +R7i.w = floatBitsToInt(fract(intBitsToFloat(R6i.x))); +R1i.w = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +PS0i = R1i.w; +// 5 +backupReg0i = R4i.x; +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z))); +R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.y))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), uf_blockPS6[44].x)); +R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.x))); +R4i.y = floatBitsToInt(sqrt(intBitsToFloat(R126i.z))); +PS1i = R4i.y; +} +if( activeMaskStackC[1] == true ) { +R13i.xy = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R7i.xy)).xy); +} +if( activeMaskStackC[1] == true ) { +// 0 +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y)) + intBitsToFloat(R4i.w))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(R4i.x))); +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(R4i.y)) + intBitsToFloat(R6i.y))); +PV0i.w = floatBitsToInt(intBitsToFloat(R7i.w) + -(0.5)); +R6i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].x, uf_blockPS10[2].w)); +PS0i = R6i.x; +// 1 +R127i.x = floatBitsToInt(intBitsToFloat(R8i.y) + -(0.5)); +R8i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].y, uf_blockPS10[2].w)); +R3i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) * intBitsToFloat(0x3d4ccccd)); +R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(PV0i.w)) + 1.0)); +R127i.w = clampFI32(R127i.w); +R3i.x = PS0i; +PS1i = R3i.x; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.z = tempi.x; +R6i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].z, uf_blockPS10[2].w)); +PS0i = R6i.z; +// 3 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.x)),intBitsToFloat(R127i.x)) + 1.0)); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R8i.y)),intBitsToFloat(R8i.y)) + 1.0)); +R7i.z = 0; +R7i.w = 0x3f800000; +R3i.y = PS0i; +PS1i = R3i.y; +// 4 +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.x))); +R10i.w = R13i.x; +R10i.w = clampFI32(R10i.w); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R1i.w)); +// 5 +R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS0i))); +R14i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS0i))); +PV1i.y = R14i.y; +R12i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); +tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.z)); +PS1i = floatBitsToInt(tempResultf); +// 6 +backupReg0i = R126i.z; +R13i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); +R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); +R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); +R11i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.w))); +R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); +PS0i = R13i.z; +// 7 +R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.z),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R7i.z),0.0))); +PV1i.x = R127i.x; +PV1i.y = R127i.x; +PV1i.z = R127i.x; +PV1i.w = R127i.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); +R126i.x = floatBitsToInt(tempResultf); +PS1i = R126i.x; +// 8 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R14i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R13i.x),intBitsToFloat(R12i.y),intBitsToFloat(R13i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.z)); +PS0i = floatBitsToInt(tempResultf); +// 9 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R6i.z))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); +R8i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); +R8i.z = clampFI32(R8i.z); +// 10 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R14i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R8i.y),1.0,0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R8i.w = tempi.x; +R15i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R127i.x))); +PS0i = R15i.z; +} +if( activeMaskStackC[1] == true ) { +// 0 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),uf_blockPS6[44].y) + intBitsToFloat(R4i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), uf_blockPS6[43].x)); +// 1 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), uf_blockPS6[45].x)); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),uf_blockPS6[43].y) + intBitsToFloat(PV0i.y))); +// 2 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),uf_blockPS6[45].y) + intBitsToFloat(PV1i.x))); +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS6[44].z) + intBitsToFloat(backupReg0i))); +// 3 +PV1i.x = floatBitsToInt(mul_nonIEEE(Color.x, intBitsToFloat(R1i.x))); +PV1i.z = floatBitsToInt(mul_nonIEEE(Color.z, intBitsToFloat(R1i.z))); +PV1i.w = floatBitsToInt(mul_nonIEEE(Color.y, intBitsToFloat(R1i.y))); +// 4 +backupReg0i = R126i.y; +backupReg1i = R127i.w; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(PV1i.w))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(PV1i.x))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS6[43].z) + intBitsToFloat(backupReg0i))); +PV0i.z = R123i.z; +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV1i.z))); +R14i.z = floatBitsToInt(uf_blockPS6[44].w + intBitsToFloat(backupReg1i)); +PS0i = R14i.z; +// 5 +R8i.x = floatBitsToInt(uf_blockPS6[43].w + intBitsToFloat(PV0i.z)); +R15i.y = PS0i; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS6[45].z) + intBitsToFloat(R127i.x))); +PV1i.z = R123i.z; +// 6 +R1i.y = floatBitsToInt((-(uf_blockPS6[53].w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(R3i.z))); +R1i.y = clampFI32(R1i.y); +R16i.z = floatBitsToInt(uf_blockPS6[45].w + intBitsToFloat(PV1i.z)); +R6i.w = floatBitsToInt((-(uf_blockPS6[53].z) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(R3i.z))); +R6i.w = clampFI32(R6i.w); +// 7 +R10i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS8[31].x * Factor, intBitsToFloat(R126i.y))); +R10i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS8[31].x * Factor, intBitsToFloat(R126i.x))); +R10i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS8[31].x * Factor, intBitsToFloat(R127i.w))); +R3i.y = floatBitsToInt(fract(uf_blockPS8[36].w)); +PS1i = R3i.y; +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R9i.x = floatBitsToInt(uf_blockPS1[0].y); +PV0i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R5i.z)), uf_blockPS1[17].y)); +// 1 +R9i.y = floatBitsToInt(uf_blockPS1[1].y); +R9i.z = floatBitsToInt(uf_blockPS1[2].y); +R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); +PS1i = R5i.w; +// 2 +predResult = (intBitsToFloat(R3i.y) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.z = floatBitsToInt(floor(uf_blockPS8[36].w)); +PV0i.z = R0i.z; +// 1 +R0i.z = floatBitsToInt(roundEven(intBitsToFloat(PV0i.z))); +} +if( activeMaskStackC[2] == true ) { +R0i.xyz = floatBitsToInt(texture(textureUnitPS8, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).xyz); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(-(intBitsToFloat(R11i.y)) + intBitsToFloat(R0i.y)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R11i.x)) + intBitsToFloat(backupReg0i)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R11i.z)) + intBitsToFloat(R0i.z)); +// 1 +backupReg0i = R11i.x; +backupReg1i = R11i.y; +backupReg2i = R11i.z; +R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(backupReg0i))); +R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.y)) + intBitsToFloat(backupReg1i))); +R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(backupReg2i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (uf_blockPS8[33].w > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.y = 0; +} +if( activeMaskStackC[2] == true ) { +R0i.z = floatBitsToInt(texture(textureUnitPS7, vec3(intBitsToFloat(R0i.y),intBitsToFloat(R0i.y),intBitsToFloat(R0i.y))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(0x3dea4a8c)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R0i.z)) + 1.0); +tempResultf = max(0.0, intBitsToFloat(R8i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R126i.z = floatBitsToInt(tempResultf); +PS0i = R126i.z; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(0x3e99096c),intBitsToFloat(0x3f162b6b),1.0,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.z = tempi.x; +tempResultf = max(0.0, intBitsToFloat(PV0i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 2 +R127i.x = floatBitsToInt((0.5 * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3dcccccd))); +PV0i.x = R127i.x; +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3fa66666)); +R125i.z = floatBitsToInt((intBitsToFloat(0x3f19999a) * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3e4ccccd))); +// 3 +backupReg0i = R127i.z; +PV1i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x40200000)); +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3e23d70a)); +R127i.w = floatBitsToInt((intBitsToFloat(0x3f266666) * intBitsToFloat(backupReg0i) + intBitsToFloat(0x3eb33333))); +PV1i.w = R127i.w; +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 0.25); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(0x3e851eb8)); +PV0i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3e4ccccd)); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); +PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); +// 5 +PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.w)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R125i.z))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.x))); +PV1i.w = R123i.w; +R9i.w = 0x3e99999a; +PS1i = R9i.w; +// 6 +R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); +R127i.y = clampFI32(R127i.y); +PV0i.y = R127i.y; +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); +PV0i.z = clampFI32(PV0i.z); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)); +PV0i.w = clampFI32(PV0i.w); +// 7 +PV1i.x = floatBitsToInt(-(intBitsToFloat(R11i.x)) + intBitsToFloat(PV0i.w)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R10i.x)) + intBitsToFloat(PV0i.w)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + intBitsToFloat(PV0i.y)); +PV1i.w = floatBitsToInt(-(intBitsToFloat(R11i.y)) + intBitsToFloat(PV0i.z)); +R127i.x = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(PV0i.z)); +PS1i = R127i.x; +// 8 +backupReg0i = R11i.x; +backupReg1i = R11i.y; +backupReg2i = R11i.z; +backupReg3i = R10i.x; +R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),uf_blockPS8[33].w) + intBitsToFloat(backupReg0i))); +R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),uf_blockPS8[33].w) + intBitsToFloat(backupReg1i))); +R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),uf_blockPS8[33].w) + intBitsToFloat(backupReg2i))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R10i.z)) + intBitsToFloat(R127i.y)); +R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),uf_blockPS8[33].w) + intBitsToFloat(backupReg3i))); +PS0i = R10i.x; +// 9 +backupReg0i = R10i.y; +backupReg1i = R10i.z; +R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),uf_blockPS8[33].w) + intBitsToFloat(backupReg0i))); +R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),uf_blockPS8[33].w) + intBitsToFloat(backupReg1i))); +// 10 +R11i.w = R7i.w; +// 11 +R0i.w = R7i.w; +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +R9i.w = 0; +PV0i.w = R9i.w; +// 1 +R0i.w = PV0i.w; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +PV0i.y = floatBitsToInt(uf_blockPS10[2].z + 1.0); +// 1 +R14i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y)); +R14i.x = clampFI32(R14i.x); +// 2 +predResult = (1.0 > intBitsToFloat(R6i.w)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R127i.x = ((-(intBitsToFloat(R5i.z)) > uf_blockPS1[58].y)?int(0xFFFFFFFF):int(0x0)); +R6i.y = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(0x3ac49ba6))); +PV0i.w = ((-(intBitsToFloat(R5i.z)) > uf_blockPS1[58].x)?int(0xFFFFFFFF):int(0x0)); +// 1 +PV1i.y = PV0i.w & int(1); +// 2 +PV0i.z = PV1i.y - R127i.x; +// 3 +PV1i.w = PV0i.z << 0x00000002; +PS1i = floatBitsToInt(float(PV0i.z)); +// 4 +R0i.x = PV1i.w + 0x0000002c; +R0i.y = PV1i.w + 0x0000002a; +R0i.z = PV1i.w + 0x0000002b; +R0i.w = PV1i.w + 0x0000002d; +R7i.z = floatBitsToInt(roundEven(intBitsToFloat(PS1i))); +PS0i = R7i.z; +} +if( activeMaskStackC[2] == true ) { +R1i.xyzw = floatBitsToInt(uf_blockPS1[R0i.w].xyzw); +R3i.xyzw = floatBitsToInt(uf_blockPS1[R0i.x].xyzw); +R4i.xyzw = floatBitsToInt(uf_blockPS1[R0i.y].xyzw); +R0i.xyzw = floatBitsToInt(uf_blockPS1[R0i.z].xyzw); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R3i.x))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R1i.x))); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(PV0i.x))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R4i.x))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R0i.x))); +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R1i.z)) + intBitsToFloat(PV1i.z))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R3i.z)) + intBitsToFloat(PV1i.x))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(PV1i.y))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(PV1i.w))); +PV0i.w = R123i.w; +// 3 +R127i.x = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(PV0i.y)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R4i.z)) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R0i.z)) + intBitsToFloat(PV0i.w))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV1i.z)); +PV0i.w = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV1i.y)); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); +// 5 +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); +PS1i = R7i.y; +// 6 +R127i.w = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PV1i.y)); +PV0i.w = R127i.w; +// 7 +PV1i.x = ((intBitsToFloat(0x3727c5ac) > intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); +// 8 +R123i.y = ((PV1i.x == 0)?(R127i.w):(0x3727c5ac)); +PV0i.y = R123i.y; +// 9 +R7i.w = PV0i.y; +R7i.w = clampFI32(R7i.w); +} +if( activeMaskStackC[2] == true ) { +R7i.y = floatBitsToInt(texture(textureUnitPS1, vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + 1.0); +// 1 +R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R6i.w)) + intBitsToFloat(R7i.y))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R0i.x = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x38d1b717) + 0.5)); +R0i.y = floatBitsToInt((intBitsToFloat(R16i.z) * intBitsToFloat(0x3903126f) + 0.5)); +R4i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) * intBitsToFloat(0x3ba3d70a)); +PV0i.z = R4i.z; +R0i.w = 0x3f800000; +PV0i.w = R0i.w; +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),uf_blockPS6[26].x) + -(uf_blockPS6[26].y))); +R127i.x = clampFI32(R127i.x); +PS0i = R127i.x; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R15i.y),intBitsToFloat(R16i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS1[37].x,uf_blockPS1[37].y,uf_blockPS1[37].z,uf_blockPS1[37].w))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R1i.w = PV0i.z; +PS1i = R1i.w; +// 2 +backupReg0i = R0i.w; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R15i.y),intBitsToFloat(R16i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockPS1[35].x,uf_blockPS1[35].y,uf_blockPS1[35].z,uf_blockPS1[35].w))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); +PS0i = R127i.z; +// 3 +backupReg0i = R0i.w; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R15i.y),intBitsToFloat(R16i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockPS1[36].x,uf_blockPS1[36].y,uf_blockPS1[36].z,uf_blockPS1[36].w))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); +PS1i = R1i.x; +// 4 +R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(0x3a83126f)); +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); +R3i.z = floatBitsToInt(intBitsToFloat(R16i.z) * intBitsToFloat(0x3a83126f)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); +PS0i = floatBitsToInt(intBitsToFloat(R8i.w) + -(intBitsToFloat(R15i.z))); +// 5 +R127i.x = floatBitsToInt(-(uf_blockPS6[27].w) + 1.0); +R3i.y = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(0xbe99999a) + -(intBitsToFloat(R6i.x)))); +R1i.z = floatBitsToInt((intBitsToFloat(R14i.y) * intBitsToFloat(0xbe99999a) + -(intBitsToFloat(R8i.y)))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(PV0i.w)) + intBitsToFloat(R15i.z))); +PV1i.w = R123i.w; +tempResultf = max(0.0, intBitsToFloat(PV0i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R127i.z = floatBitsToInt(tempResultf); +PS1i = R127i.z; +// 6 +R6i.x = floatBitsToInt((intBitsToFloat(R12i.z) * intBitsToFloat(0xbe99999a) + -(intBitsToFloat(R6i.z)))); +PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[27].y, intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.w)), intBitsToFloat(0xbf7d70a4))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); +R127i.w = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(0x3f99999a)); +R127i.w = clampFI32(R127i.w); +tempResultf = max(0.0, intBitsToFloat(R8i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 7 +R126i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + 0.5); +PV1i.x = R126i.x; +R127i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3ecccccd)); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),uf_blockPS6[28].x) + -(uf_blockPS6[28].y))); +R123i.z = clampFI32(R123i.z); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(max(intBitsToFloat(R11i.y), intBitsToFloat(R11i.z))); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 8 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS1i)) + uf_blockPS6[27].w)/2.0); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); +PV0i.y = R123i.y; +R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R11i.w))); +// 9 +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); +R4i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); +R6i.z = floatBitsToInt(max(intBitsToFloat(R11i.x), intBitsToFloat(R126i.w))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(0xbe593484))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.w))); +// 10 +PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); +R6i.y = floatBitsToInt(min(intBitsToFloat(R11i.y), intBitsToFloat(R11i.z))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(0x3fc90da4))); +PV0i.z = R123i.z; +R3i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[27].x, intBitsToFloat(R127i.z))); +R0i.w = floatBitsToInt(exp2(intBitsToFloat(R127i.y))); +PS0i = R0i.w; +// 11 +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),-(intBitsToFloat(PV0i.z))) + 1.0)); +R5i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),uf_blockPS6[18].x) + uf_blockPS6[17].w)); +R5i.y = clampFI32(R5i.y); +R5i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(0xbe99999a)); +R4i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(0x2edbe6ff)); +tempResultf = max(0.0, intBitsToFloat(R126i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R5i.x = floatBitsToInt(tempResultf); +PS1i = R5i.x; +} +if( activeMaskStackC[1] == true ) { +R0i.xyz = floatBitsToInt(textureLod(textureUnitPS6, intBitsToFloat(R0i.xy),0.0).xyz); +R1i.x = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R1i.xy),intBitsToFloat(R1i.w)).x); +R1i.w = floatBitsToInt(textureLod(textureUnitPS4, intBitsToFloat(R3i.xz),0.0).x); +R8i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyz); +} +if( activeMaskStackC[1] == true ) { +// 0 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +backupReg2i = R0i.z; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(uf_blockPS6[42].x,uf_blockPS6[42].y,uf_blockPS6[42].z,0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.w = floatBitsToInt((intBitsToFloat(R1i.w) * 2.0 + -(1.0))); +PS0i = R127i.w; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.y),intBitsToFloat(R1i.z),intBitsToFloat(R6i.x),-0.0),vec4(intBitsToFloat(R3i.y),intBitsToFloat(R1i.z),intBitsToFloat(R6i.x),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +// 2 +PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + uf_blockPS10[1].z); +PV0i.x = clampFI32(PV0i.x); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PS1i))); +PV0i.y = R127i.y; +R0i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(0x41c80000) + intBitsToFloat(R14i.z))); +R127i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[29].x, intBitsToFloat(R5i.x))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 3 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(intBitsToFloat(R7i.w) + -(intBitsToFloat(PV0i.y))); +R126i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[3].z, intBitsToFloat(PV0i.x))); +PS1i = R126i.y; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R12i.y),intBitsToFloat(R13i.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; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R14i.x)) + intBitsToFloat(R127i.y))); +PS0i = R126i.x; +// 5 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R14i.y),intBitsToFloat(R12i.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 = max(0.0, intBitsToFloat(PV0i.x)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 6 +PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x41400000)); +R127i.y = floatBitsToInt(min(intBitsToFloat(R11i.x), intBitsToFloat(R6i.y))); +PV0i.z = floatBitsToInt(intBitsToFloat(R126i.x) + uf_blockPS10[1].y); +PV0i.z = clampFI32(PV0i.z); +R126i.w = R2i.w; +R126i.w = clampFI32(R126i.w); +tempResultf = max(0.0, intBitsToFloat(PV1i.x)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 7 +PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[29].z, intBitsToFloat(PS0i))); +R125i.y = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(0x40200001)); +R125i.y = clampFI32(R125i.y); +PV1i.y = R125i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); +R1i.w = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R13i.y) + 1.0)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); +PS1i = clampFI32(PS1i); +// 8 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x41200000)); +PV0i.x = clampFI32(PV0i.x); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(PS1i))); +R126i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); +R125i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(0xbfe66666)); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); +// 9 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.x))); +PV1i.x = R125i.x; +R126i.y = floatBitsToInt((mul_nonIEEE(-(uf_blockPS6[29].w),intBitsToFloat(PS0i)) + 1.0)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R7i.x)) + intBitsToFloat(0xbd4ccccd))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R7i.x)) + intBitsToFloat(0xbc23d70a))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(exp2(intBitsToFloat(R3i.w))); +// 10 +backupReg0i = R127i.w; +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x41a00000)); +PV0i.x = clampFI32(PV0i.x); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); +R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[27].z,-(intBitsToFloat(PS1i))) + uf_blockPS6[27].z)); +PV0i.z = R123i.z; +R127i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x42480000)); +R127i.w = clampFI32(R127i.w); +PS0i = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); +// 11 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(R126i.y)) + intBitsToFloat(R126i.y))); +PV1i.x = R123i.x; +R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R126i.w)) + 1.0)); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3df5c28f)); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); +R125i.z = floatBitsToInt(1.0 / intBitsToFloat(R4i.w)); +PS1i = R125i.z; +// 12 +R126i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(PV1i.z))); +R126i.x = clampFI32(R126i.x); +R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(PS1i)) + 1.0)); +PV0i.y = R126i.y; +R127i.z = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(0x3dcccccd) + 1.0)); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS6[30].w)); +tempResultf = max(0.0, intBitsToFloat(R6i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 13 +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R125i.w)) + intBitsToFloat(R125i.w))); +R127i.x = clampFI32(R127i.x); +R127i.y = floatBitsToInt((-(intBitsToFloat(PV0i.y)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); +PV1i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f19999a)); +PV1i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(0x3da3d70a)); +PV1i.w = clampFI32(PV1i.w); +tempResultf = max(0.0, intBitsToFloat(R5i.y)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 14 +PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[18].y, intBitsToFloat(PS1i))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); +R124i.y = clampFI32(R124i.y); +R126i.z = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0); +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R1i.w))); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); +// 15 +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + intBitsToFloat(PS0i))); +R5i.y = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x3f4ccccd)); +R5i.z = floatBitsToInt(intBitsToFloat(R2i.y) * intBitsToFloat(0x3f4ccccd)); +R4i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x42960000)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); +// 16 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(backupReg0i))); +PV0i.x = R127i.x; +R6i.y = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3f4ccccd)); +PV0i.z = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(0x2edbe6ff)); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS6[16].w)); +R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.w)),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.z))); +PS0i = R3i.w; +// 17 +R1i.x = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R125i.x)); +R1i.x = clampFI32(R1i.x); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.y)),intBitsToFloat(R124i.y)) + intBitsToFloat(R126i.y))); +R123i.y = clampFI32(R123i.y); +PV1i.y = R123i.y; +R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R126i.x)) + intBitsToFloat(R6i.z))); +R123i.w = clampFI32(R123i.w); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); +// 18 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); +PV0i.x = R126i.x; +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(R127i.w))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(intBitsToFloat(R11i.x) + -(intBitsToFloat(R6i.z))); +PS0i = floatBitsToInt(intBitsToFloat(R11i.y) + -(intBitsToFloat(R6i.z))); +// 19 +R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.z))); +PV1i.y = floatBitsToInt(intBitsToFloat(R11i.z) + -(intBitsToFloat(R6i.z))); +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.z))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R10i.w)) + intBitsToFloat(R127i.x))); +PV1i.w = R123i.w; +R6i.x = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(PV0i.z)); +PS1i = R6i.x; +// 20 +backupReg0i = R8i.x; +backupReg1i = R8i.y; +backupReg2i = R6i.z; +R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); +R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.w))); +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg2i))); +R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PV1i.w))); +R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),-(intBitsToFloat(R5i.w))) + intBitsToFloat(R126i.w))); +PS0i = R4i.y; +} +if( activeMaskStackC[1] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(uf_blockPS6[4].x,uf_blockPS6[4].y,uf_blockPS6[4].z,-0.0),vec4(intBitsToFloat(R13i.x),intBitsToFloat(R12i.y),intBitsToFloat(R13i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(0xba0a8ec8))); +R7i.w = clampFI32(R7i.w); +PS0i = R7i.w; +// 1 +PV1i.x = floatBitsToInt(uf_blockPS6[5].x + -(intBitsToFloat(R5i.y))); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R0i.z)) + uf_blockPS6[52].x); +PV1i.z = floatBitsToInt(uf_blockPS6[5].y + -(intBitsToFloat(R5i.z))); +PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R4i.z)) + intBitsToFloat(0xba0a8ec8))); +R0i.z = clampFI32(R0i.z); +PS1i = R0i.z; +// 2 +backupReg0i = R5i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),uf_blockPS6[15].x) + uf_blockPS6[14].w)); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(backupReg0i))); +PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); +R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R5i.z))); +R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R6i.z)) + intBitsToFloat(0xba0a8ec8))); +R1i.y = clampFI32(R1i.y); +PS0i = R1i.y; +// 3 +PV1i.x = floatBitsToInt(uf_blockPS6[5].z + -(intBitsToFloat(R6i.y))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS6[13].w)); +// 4 +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R1i.w))); +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R6i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.w))); +PV0i.w = clampFI32(PV0i.w); +// 5 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.w))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R3i.w))); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.w))); +R5i.z = clampFI32(R5i.z); +// 6 +backupReg0i = R0i.y; +backupReg0i = R0i.y; +PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].z, intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].y, intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].x, intBitsToFloat(PV1i.y))); +R7i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); +PS0i = R7i.x; +// 7 +R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].x,intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.w))); +PV1i.x = R123i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); +PV1i.y = R126i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].z,intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.x))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].y,intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); +PV1i.w = R123i.w; +// 8 +backupReg0i = R4i.y; +backupReg0i = R4i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R4i.y)) + intBitsToFloat(PV1i.x))); +PV0i.x = R123i.x; +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(PV1i.y))); +PV0i.y = R4i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.z))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); +PV0i.w = R123i.w; +R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(PV1i.y))); +PS0i = R1i.x; +// 9 +R6i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].y,intBitsToFloat(R5i.w)) + intBitsToFloat(PV0i.w))); +R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].x,intBitsToFloat(R5i.w)) + intBitsToFloat(PV0i.x))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R126i.y))); +PV1i.z = R4i.z; +R0i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].z,intBitsToFloat(R5i.w)) + intBitsToFloat(PV0i.z))); +PS1i = floatBitsToInt(-(intBitsToFloat(PV0i.y)) * intBitsToFloat(0x3fb8aa3b)); +// 10 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) * intBitsToFloat(0x3fb8aa3b)); +R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) * intBitsToFloat(0x3fb8aa3b)); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); +// 11 +R8i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); +// 12 +R5i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PS0i = floatBitsToInt(exp2(intBitsToFloat(R126i.z))); +// 13 +R8i.z = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); +} +if( activeMaskStackC[1] == true ) { +// 0 +R126i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].w, intBitsToFloat(R5i.z))); +PV0i.x = R126i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[0].x)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[0].y)); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.x))); +PV1i.x = R123i.x; +R126i.y = ((1.0 > uf_blockPS8[37].x)?int(0xFFFFFFFF):int(0x0)); +PV1i.y = R126i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), uf_blockPS10[0].z)); +// 2 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.w))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(R2i.z))); +PV0i.y = R123i.y; +R125i.z = ((PV1i.y == 0)?(R4i.y):(R8i.x)); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R0i.z))); +R125i.x = ((PV1i.y == 0)?(R1i.x):(R5i.w)); +PS0i = R125i.x; +// 3 +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; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); +R127i.w = ((R126i.y == 0)?(R4i.z):(R8i.z)); +R1i.w = floatBitsToInt(uf_blockPS8[37].x); +PS1i = R1i.w; +// 4 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(R8i.y))); +PV0i.x = R127i.x; +R123i.z = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV0i.z = R123i.z; +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(R6i.x))); +PV0i.w = R126i.w; +// 5 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) * 0.25); +PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) * 0.25); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.w))); +PV1i.z = R127i.z; +// 6 +R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3fb8aa3b)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3fb8aa3b)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) * 0.25); +// 7 +R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3fb8aa3b)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); +// 8 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); +PS0i = floatBitsToInt(exp2(intBitsToFloat(R126i.x))); +// 9 +R123i.x = ((R126i.y == 0)?(R127i.x):(PV0i.x)); +PV1i.x = R123i.x; +PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); +PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 4.0); +PS1i = floatBitsToInt(exp2(intBitsToFloat(R126i.z))); +// 10 +R1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.z)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); +R123i.w = ((R126i.y == 0)?(R126i.w):(PV1i.w)); +PV0i.w = R123i.w; +// 11 +R1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R125i.x)); +R123i.z = ((R126i.y == 0)?(R127i.z):(PV0i.z)); +PV1i.z = R123i.z; +// 12 +R1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.w)); +} +// export +passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/7cd50058a8f1d6dd_00001e1e1fea9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/7cd50058a8f1d6dd_00001e1e1fea9249_ps.txt new file mode 100644 index 00000000..1a51fea9 --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/7cd50058a8f1d6dd_00001e1e1fea9249_ps.txt @@ -0,0 +1,941 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Factor = $L_f; + +// Armor When teleporting + +// shader 7cd50058a8f1d6dd +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +layout(binding = 1) uniform sampler3D textureUnitPS1; +layout(binding = 2) uniform sampler2DArray textureUnitPS2; +layout(binding = 3) uniform sampler2D textureUnitPS3; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(binding = 6) uniform sampler2D textureUnitPS6; +layout(binding = 7) uniform sampler2D textureUnitPS7; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem2; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem5; +layout(location = 5) in vec4 passParameterSem7; +layout(location = 6) in vec4 passParameterSem8; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 5) out vec4 passPixelColor5; +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 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; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem1); +R2i = floatBitsToInt(passParameterSem2); +R3i = floatBitsToInt(passParameterSem4); +R4i = floatBitsToInt(passParameterSem5); +R5i = floatBitsToInt(passParameterSem7); +R6i = floatBitsToInt(passParameterSem8); +if( activeMaskStackC[1] == true ) { +R7i.xy = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.xy)).xy); +R1i.xyz = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R1i.xy)).xyz); +R8i.xyz = floatBitsToInt(texture(textureUnitPS7, intBitsToFloat(R0i.zw)).xyz); +R1i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).x); +R9i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R0i.xy)).xyz); +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R4i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R4i.x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R4i.z))); +R127i.w = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV0i.w = R127i.w; +R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PS0i = R127i.y; +// 1 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.x)),intBitsToFloat(R3i.y)) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.z)),intBitsToFloat(R3i.x)) + intBitsToFloat(PV0i.y))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.y)),intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.z))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS0i))); +// 2 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.x))); +R123i.z = clampFI32(R123i.z); +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); +R126i.w = floatBitsToInt(fract(intBitsToFloat(R6i.x))); +PS0i = R126i.w; +// 3 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.x))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.y))); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w))); +PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); +R126i.y = floatBitsToInt(fract(intBitsToFloat(R6i.y))); +PS1i = R126i.y; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w))); +// 5 +backupReg0i = R127i.y; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(PS0i)) + intBitsToFloat(R127i.x))); +PV1i.x = R126i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(PS0i)) + intBitsToFloat(R127i.z))); +PV1i.y = R127i.y; +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); +PV1i.z = R126i.z; +R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + -(0.5)); +R126i.w = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +PS1i = R126i.w; +// 6 +backupReg0i = R126i.y; +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; +R126i.y = tempi.x; +PS0i = floatBitsToInt(intBitsToFloat(backupReg0i) + -(0.5)); +// 7 +R127i.x = floatBitsToInt(mul_nonIEEE(Color.r, intBitsToFloat(R1i.x))); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(PS0i)) + 1.0)); +R123i.y = clampFI32(R123i.y); +PV1i.y = R123i.y; +R127i.z = floatBitsToInt(mul_nonIEEE(Color.g, intBitsToFloat(R1i.y))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R127i.w)) + 1.0)); +R123i.w = clampFI32(R123i.w); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); +// 8 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS1i))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.y))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); +PS0i = floatBitsToInt(mul_nonIEEE(Color.b, intBitsToFloat(R1i.z))); +// 9 +backupReg0i = R127i.z; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R127i.x))); +PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].w)) + intBitsToFloat(0x3f59999a)); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PS0i))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); +// 10 +R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x) * Factor, intBitsToFloat(PV1i.x))); +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PS1i))); +R3i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3f969696)); +R3i.z = clampFI32(R3i.z); +R1i.w = floatBitsToInt(fract(intBitsToFloat(uf_remappedPS[3].w))); +R6i.y = 0x3f800000; +PS0i = R6i.y; +// 11 +R7i.y = 0; +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x) * Factor, intBitsToFloat(R127i.z))); +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x) * Factor, intBitsToFloat(R127i.w))); +PS1i = R5i.y; +// 12 +tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); +PS0i = floatBitsToInt(tempResultf); +// 13 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); +PV1i.x = R3i.x; +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +PV1i.y = R3i.y; +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); +PV1i.z = R4i.z; +// 14 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.w),-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; +R1i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); +PS0i = R1i.x; +// 15 +R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); +R2i.w = clampFI32(R2i.w); +// 16 +predResult = (intBitsToFloat(R1i.w) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.z = floatBitsToInt(floor(intBitsToFloat(uf_remappedPS[3].w))); +PV0i.z = R0i.z; +// 1 +R0i.z = floatBitsToInt(roundEven(intBitsToFloat(PV0i.z))); +} +if( activeMaskStackC[2] == true ) { +R0i.xyz = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).xyz); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R0i.y)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg0i)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R0i.z)); +// 1 +backupReg0i = R9i.x; +backupReg1i = R9i.y; +backupReg2i = R9i.z; +R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.w)) + intBitsToFloat(backupReg0i))); +R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(backupReg1i))); +R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.w)) + intBitsToFloat(backupReg2i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R6i.z = ((intBitsToFloat(uf_remappedPS[4].w) > 0.0)?int(0xFFFFFFFF):int(0x0)); +// 1 +predResult = (R6i.z != 0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x3e99999a)); +R0i.y = floatBitsToInt(intBitsToFloat(R2i.y) * intBitsToFloat(0x3e99999a)); +R0i.z = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3e99999a)); +} +if( activeMaskStackC[2] == true ) { +R0i.z = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(intBitsToFloat(R9i.z) * intBitsToFloat(0x3dea4a8c)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R0i.z)) + 1.0); +tempResultf = max(0.0, intBitsToFloat(R2i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R126i.w = floatBitsToInt(tempResultf); +PS0i = R126i.w; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(0x3e99096c),intBitsToFloat(0x3f162b6b),1.0,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.w = tempi.x; +tempResultf = max(0.0, intBitsToFloat(PV0i.y)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 2 +R127i.x = floatBitsToInt((0.5 * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3dcccccd))); +PV0i.x = R127i.x; +R127i.y = floatBitsToInt((intBitsToFloat(0x3f19999a) * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3e4ccccd))); +PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3fa66666)); +// 3 +R126i.y = floatBitsToInt((intBitsToFloat(0x3f266666) * intBitsToFloat(R127i.w) + intBitsToFloat(0x3eb33333))); +PV1i.y = R126i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(0x40200000)); +R127i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3e23d70a)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 0.25); +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3e4ccccd)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(0x3e851eb8)); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); +PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); +// 5 +PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.y)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.x))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.y))); +PV1i.w = R123i.w; +R7i.y = 0x3e99999a; +PS1i = R7i.y; +// 6 +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); +PV0i.y = clampFI32(PV0i.y); +R127i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); +R127i.z = clampFI32(R127i.z); +PV0i.z = R127i.z; +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)); +PV0i.w = clampFI32(PV0i.w); +// 7 +PV1i.x = floatBitsToInt(-(intBitsToFloat(R9i.x)) + intBitsToFloat(PV0i.y)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.y)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV0i.z)); +PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.w)); +R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.w)); +PS1i = R127i.x; +// 8 +backupReg0i = R9i.x; +backupReg1i = R9i.y; +backupReg2i = R9i.z; +backupReg3i = R5i.x; +R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg0i))); +R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg1i))); +R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg2i))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R127i.z)); +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg3i))); +PS0i = R5i.x; +// 9 +backupReg0i = R5i.y; +backupReg1i = R5i.z; +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg0i))); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg1i))); +// 10 +R4i.y = R6i.y; +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +R6i.y = R7i.y; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (intBitsToFloat(uf_remappedPS[4].x) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[4].y)); +// 1 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i))); +PV1i.x = R127i.x; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS0i))); +// 2 +R0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x40666666)); +R0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x40666666)); +R0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x40666666)); +R1i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f3851ec)); +R1i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3f3851ec)); +PS0i = R1i.y; +// 3 +R1i.z = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3f3851ec)); +} +if( activeMaskStackC[2] == true ) { +R0i.y = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).x); +R0i.x = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R1i.w),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(R0i.x)); +// 1 +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x3f333333) + intBitsToFloat(R0i.y))); +PV1i.y = R123i.y; +// 2 +PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(PV1i.y)); +// 3 +R127i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x41a00000)); +R127i.w = clampFI32(R127i.w); +PV1i.w = R127i.w; +// 4 +backupReg0i = R9i.x; +backupReg1i = R9i.y; +backupReg2i = R9i.z; +backupReg3i = R5i.x; +R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); +R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.w))); +R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PV1i.w))); +R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg3i), intBitsToFloat(PV1i.w))); +PS0i = R5i.x; +// 5 +backupReg0i = R5i.y; +backupReg1i = R5i.z; +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.w))); +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R127i.w))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R1i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].x) * intBitsToFloat(0xbd088889)); +// 1 +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y), intBitsToFloat(uf_remappedPS[6].x))); +// 2 +predResult = (intBitsToFloat(uf_remappedPS[7].w) != 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x3e22f983)); +PV0i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x40e66666)); +PV0i.z = floatBitsToInt(intBitsToFloat(R2i.y) * intBitsToFloat(0x3e22f983)); +PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3e22f983)); +PS0i = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R4i.z)); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + 0.5)); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.y)) + 0.5)); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PS0i)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + 0.5)); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[7].w), -(intBitsToFloat(uf_remappedPS[7].w)))); +// 2 +PV0i.x = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.x))); +PV0i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.w))); +R127i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e99999a)); +R125i.w = floatBitsToInt(sqrt(intBitsToFloat(PS1i))); +PS0i = R125i.w; +// 3 +R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +R127i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +R126i.z = R1i.x; +R126i.z = clampFI32(R126i.z); +R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +PV1i.w = R123i.w; +R124i.w = floatBitsToInt((intBitsToFloat(0xc3020000) * intBitsToFloat(PS0i) + intBitsToFloat(0x43200000))); +PS1i = R124i.w; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.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(0x3e22f983)); +// 5 +PV1i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(0x3e22f983)); +R127i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.x))); +R0i.w = floatBitsToInt((intBitsToFloat(0xc31a0000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x43200000))); +R126i.y = floatBitsToInt(sin((intBitsToFloat(PS0i))/0.1591549367)); +PS1i = R126i.y; +// 6 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.w = tempi.x; +PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.x))/0.1591549367)); +// 7 +backupReg0i = R127i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.z))); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt((intBitsToFloat(0xc2080000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x42200000))); +PV1i.z = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PS0i)); +R127i.w = floatBitsToInt((intBitsToFloat(0xbfe66666) * intBitsToFloat(R125i.w) + intBitsToFloat(0x40333333))); +PS1i = floatBitsToInt(sin((intBitsToFloat(backupReg0i))/0.1591549367)); +// 8 +R125i.x = floatBitsToInt((intBitsToFloat(0xbd8f5c29) * intBitsToFloat(R125i.w) + intBitsToFloat(0x3d8f5c29))); +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(PV1i.z)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.w)); +R126i.w = floatBitsToInt((intBitsToFloat(0xc0333333) * intBitsToFloat(R125i.w) + intBitsToFloat(0x40333333))); +tempResultf = max(0.0, intBitsToFloat(R126i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R127i.x = floatBitsToInt(tempResultf); +PS0i = R127i.x; +// 9 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * 0.25 + intBitsToFloat(PV0i.z))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(0x3e4ccccd) + intBitsToFloat(0x3e4ccccd))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(0x3d4cccce) * intBitsToFloat(R125i.w) + intBitsToFloat(0x3dcccccd))); +PV1i.z = R123i.z; +PV1i.w = ((0.0 > intBitsToFloat(uf_remappedPS[7].w))?int(0xFFFFFFFF):int(0x0)); +R126i.x = ((intBitsToFloat(uf_remappedPS[7].w) == 0.0)?int(0xFFFFFFFF):int(0x0)); +PS1i = R126i.x; +// 10 +PV0i.x = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x41000000)); +R123i.y = ((PV1i.w == 0)?(PV1i.y):(PV1i.z)); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3f400000) + intBitsToFloat(R1i.z))); +PV0i.z = R123i.z; +PV0i.w = PV1i.x; +PV0i.w = clampFI32(PV0i.w); +R127i.z = floatBitsToInt((intBitsToFloat(0xc3480000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x43960000))); +PS0i = R127i.z; +// 11 +R127i.x = floatBitsToInt((intBitsToFloat(0xc36b0000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x437f0000))); +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0xbeb33333) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R1i.w = ((R126i.x == 0)?(PV0i.y):(0)); +R125i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); +PS1i = R125i.z; +// 12 +PV0i.x = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +R125i.y = floatBitsToInt((intBitsToFloat(0x41600000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x40c00000))); +// 13 +PV1i.z = PV0i.x; +PV1i.z = clampFI32(PV1i.z); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); +PV1i.w = clampFI32(PV1i.w); +// 14 +PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.z)); +// 15 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); +PV1i.x = R126i.x; +R125i.w = PV0i.y; +R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); +// 16 +PV0i.z = floatBitsToInt(intBitsToFloat(0x40400000) * intBitsToFloat(PV1i.x)); +// 17 +R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.z))); +PV1i.y = R126i.y; +// 18 +tempResultf = max(0.0, intBitsToFloat(PV1i.y)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 19 +PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x43480000)); +// 20 +R126i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); +PS0i = R126i.z; +// 21 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PS0i)) + intBitsToFloat(R127i.w))); +PV1i.y = R123i.y; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + intBitsToFloat(R125i.x))); +PV1i.w = R123i.w; +// 22 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.w))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(0x3ecccccd) + intBitsToFloat(PV1i.w))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(0x3ecccccd) + intBitsToFloat(PV1i.y))); +PV0i.z = R123i.z; +// 23 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.y))); +R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(0x3ecccccd) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.z))); +PV1i.w = R123i.w; +// 24 +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R1i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.y))); +PV0i.z = R123i.z; +// 25 +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R1i.w))); +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +R0i.xyz = ivec3(0,0,0); +R1i.w = 0; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (intBitsToFloat(uf_remappedPS[3].x) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R1i.w; +PV0i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x40490fdb)); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +R127i.y = R1i.x; +R127i.y = clampFI32(R127i.y); +PV0i.y = R127i.y; +PV0i.z = floatBitsToInt(intBitsToFloat(R4i.z) + -(intBitsToFloat(R9i.y))); +R127i.w = floatBitsToInt(intBitsToFloat(R2i.y) * intBitsToFloat(0x40600000)); +R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(backupReg0i))); +PS0i = R1i.w; +// 1 +R123i.y = floatBitsToInt((intBitsToFloat(R3i.y) * 0.5 + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983) + 0.5)); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); +PV1i.w = R126i.w; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.w))); +// 3 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.w))); +PV1i.w = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); +// 4 +PV0i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); +// 5 +PV1i.x = PV0i.z; +PV1i.x = clampFI32(PV1i.x); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); +PV1i.y = clampFI32(PV1i.y); +PS1i = floatBitsToInt(sin((intBitsToFloat(PV0i.w))/0.1591549367)); +// 6 +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) + 1.0); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.x)); +// 7 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.y))); +PV1i.x = R127i.x; +R127i.y = PV0i.w; +R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); +PV1i.z = R127i.z; +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); +// 8 +PV0i.x = floatBitsToInt(intBitsToFloat(0x40400000) * intBitsToFloat(PV1i.z)); +R126i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3df5c290)); +R126i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e8a3d71)); +R126i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3b449ba6)); +R126i.x = PV1i.x; +R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) / 2.0); +PS0i = R126i.x; +// 9 +backupReg0i = R127i.x; +backupReg0i = R127i.x; +backupReg1i = R127i.z; +R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x41100000)); +R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40a00000)); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.x))); +PV1i.w = R123i.w; +// 10 +tempResultf = max(0.0, intBitsToFloat(PV1i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 11 +PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x40c00000)); +// 12 +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); +// 13 +R123i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(R126i.w))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x3f19999a) + intBitsToFloat(R126i.y))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x3fe66666) + intBitsToFloat(R126i.z))); +PV1i.w = R123i.w; +// 14 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.z)); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R127i.x)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.x)); +// 15 +backupReg0i = R0i.y; +backupReg1i = R0i.x; +PV1i.x = floatBitsToInt(-(intBitsToFloat(R0i.z)) + intBitsToFloat(PV0i.w)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.y)); +// 16 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +backupReg2i = R0i.z; +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(backupReg0i))); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(backupReg1i))); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(backupReg2i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (intBitsToFloat(uf_remappedPS[3].y) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R2i.w))); +R127i.z = floatBitsToInt(-(intBitsToFloat(backupReg0i))); +// 1 +backupReg0i = R0i.y; +PV1i.x = floatBitsToInt(-(intBitsToFloat(R0i.z)) + intBitsToFloat(PV0i.x)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(PV0i.x))); +// 2 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +backupReg2i = R0i.z; +backupReg3i = R1i.w; +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); +R1i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(PV1i.w)); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R126i.w = R1i.w; +R126i.w = clampFI32(R126i.w); +PV0i.w = R126i.w; +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),-(intBitsToFloat(PV0i.w))) + intBitsToFloat(R5i.y))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),-(intBitsToFloat(PV0i.w))) + intBitsToFloat(R5i.x))); +PV1i.y = R123i.y; +R127i.z = ((intBitsToFloat(PV0i.w) > 0.0)?int(0xFFFFFFFF):int(0x0)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),-(intBitsToFloat(PV0i.w))) + intBitsToFloat(R5i.z))); +PV1i.w = R123i.w; +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),-(intBitsToFloat(PV0i.w))) + intBitsToFloat(R9i.x))); +PS1i = R127i.y; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R126i.w)) + intBitsToFloat(PV1i.w))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(PV1i.x))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(PV1i.y))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),-(intBitsToFloat(R126i.w))) + intBitsToFloat(R9i.y))); +PV0i.w = R123i.w; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),-(intBitsToFloat(R126i.w))) + intBitsToFloat(R9i.z))); +PS0i = R127i.w; +// 3 +backupReg0i = R127i.y; +R127i.x = ((R127i.z == 0)?(R5i.x):(PV0i.z)); +PV1i.x = R127i.x; +R127i.y = ((R127i.z == 0)?(R9i.x):(backupReg0i)); +R126i.z = ((R127i.z == 0)?(R5i.z):(PV0i.x)); +PV1i.z = R126i.z; +R125i.w = ((R127i.z == 0)?(R5i.y):(PV0i.y)); +PV1i.w = R125i.w; +R125i.z = ((R127i.z == 0)?(R9i.y):(PV0i.w)); +PS1i = R125i.z; +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[8].x)); +R126i.y = ((R127i.z == 0)?(R9i.z):(R127i.w)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),-(intBitsToFloat(R126i.w))) + intBitsToFloat(R4i.y))); +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(uf_remappedPS[8].y)); +PS0i = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[8].z)); +// 5 +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(R127i.x))); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(R125i.w))); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(R126i.z))); +R2i.w = ((R127i.z == 0)?(R4i.y):(PV0i.z)); +R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R127i.y))); +PS1i = R6i.x; +// 6 +R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R125i.z))); +R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R126i.y))); +// 7 +predResult = (1.0 > intBitsToFloat(uf_remappedPS[1].w)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_remappedPS[6].x))); +R0i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[1].w)) * intBitsToFloat(0x40200000) + intBitsToFloat(0x40200000))); +R0i.y = clampFI32(R0i.y); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_remappedPS[6].x))); +PV0i.z = R0i.z; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_remappedPS[6].x))); +// 1 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[9].z))); +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[9].z))); +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[9].z))); +R1i.w = PV0i.w; +R1i.w = floatBitsToInt(intBitsToFloat(R1i.w) / 2.0); +R1i.x = PV0i.x; +R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) / 2.0); +PS1i = R1i.x; +} +if( activeMaskStackC[2] == true ) { +R0i.w = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[9].y))); +R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].w),intBitsToFloat(R0i.w)) + intBitsToFloat(R1i.w))); +} +if( activeMaskStackC[2] == true ) { +R1i.z = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +if( (intBitsToFloat(R3i.z) > intBitsToFloat(R1i.z))) discard; +tempResultf = max(0.0, intBitsToFloat(R1i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R1i.x = floatBitsToInt(tempResultf); +PS0i = R1i.x; +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3fe66666)); +// 1 +R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); +PS1i = R127i.z; +// 2 +R123i.x = floatBitsToInt((intBitsToFloat(0x40b1999a) * intBitsToFloat(PS1i) + intBitsToFloat(0x3ee66666))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(0x3dccccce) * intBitsToFloat(PS1i) + intBitsToFloat(0x3e4ccccd))); +PV0i.y = R123i.y; +// 3 +backupReg0i = R5i.x; +backupReg1i = R5i.y; +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); +R123i.w = floatBitsToInt((intBitsToFloat(0x41200000) * intBitsToFloat(R127i.z) + 4.0)); +PV1i.w = R123i.w; +// 4 +backupReg0i = R5i.z; +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R2i.w))); +PV0i.x = R123i.x; +PV0i.y = uf_remappedPS[7].z; +PV0i.z = ((intBitsToFloat(R7i.y) > 0.0)?int(0xFFFFFFFF):int(0x0)); +R123i.w = ((R6i.z == 0)?(0x3d008081):(0x3d30b0b1)); +PV0i.w = R123i.w; +R1i.w = floatBitsToInt(1.0); +PS0i = R1i.w; +// 1 +R1i.x = PV0i.w; +R127i.y = ((PV0i.z == 0)?(0):(0x3f800000)); +PV1i.y = R127i.y; +R0i.z = floatBitsToInt((intBitsToFloat(R4i.z) * 0.5 + 0.5)); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x427f0000)); +R1i.y = PV0i.y; +PS1i = R1i.y; +// 2 +PV0i.x = ((intBitsToFloat(PV1i.y) > 0.0)?int(0xFFFFFFFF):int(0x0)); +R0i.y = floatBitsToInt((intBitsToFloat(R3i.y) * 0.5 + 0.5)); +PV0i.z = floatBitsToInt(floor(intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); +R2i.w = 0x3f800000; +R0i.x = floatBitsToInt((intBitsToFloat(R3i.x) * 0.5 + 0.5)); +PS0i = R0i.x; +// 3 +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + 2.0); +R123i.w = ((PV0i.x == 0)?(R6i.y):(R7i.y)); +PV1i.w = R123i.w; +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV1i.y)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x437f0000)); +// 5 +R0i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b808081)); +PS1i = int(intBitsToFloat(PV0i.z)); +// 6 +PV0i.x = PS1i & 0x000000e0; +// 7 +PV1i.w = PV0i.x >> 0x00000003; +// 8 +PS0i = floatBitsToInt(float(PV1i.w)); +// 9 +PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(0x42800000)); +// 10 +R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * 2.0 + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +// 11 +R5i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b808081) + intBitsToFloat(0x3b808081))); +// 12 +R4i.xyz = ivec3(R5i.x,R5i.y,R5i.z); +R4i.w = R2i.w; +// 13 +R3i.xyz = ivec3(R0i.x,R0i.y,R0i.z); +R3i.w = R0i.w; +// 14 +R2i.xyz = ivec3(R6i.x,R8i.y,R7i.z); +R2i.w = R5i.w; +// 15 +backupReg0i = R1i.x; +backupReg1i = R1i.y; +backupReg2i = R1i.z; +backupReg3i = R1i.w; +R1i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); +R1i.w = backupReg3i; +} +// export +passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +passPixelColor1 = 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)); +passPixelColor5 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/cc51c2b5a4fce06c_00000078787f9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/cc51c2b5a4fce06c_00000078787f9249_ps.txt new file mode 100644 index 00000000..a0cd289a --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/cc51c2b5a4fce06c_00000078787f9249_ps.txt @@ -0,0 +1,187 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Factor = $L_f; + +// Ancient Armor + +// shader cc51c2b5a4fce06c +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +layout(binding = 1) uniform sampler2D textureUnitPS1; +layout(binding = 2) uniform sampler2D textureUnitPS2; +layout(binding = 3) uniform sampler2D textureUnitPS3; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem7; +layout(location = 3) in vec4 passParameterSem3; +layout(location = 4) in vec4 passParameterSem4; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 5) out vec4 passPixelColor5; +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 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; +R0f = passParameterSem0; +R1f = passParameterSem1; +R2f = passParameterSem7; +R3f = passParameterSem3; +R4f = passParameterSem4; +R5f.xy = (texture(textureUnitPS3, R0f.xy).xy); +R1f.w = (texture(textureUnitPS2, R0f.xy).x); +R1f.xyz = (texture(textureUnitPS4, R1f.xy).xyz); +R6f.xyz = (texture(textureUnitPS5, R0f.zw).xyz); +R0f.xyz = (texture(textureUnitPS1, R0f.xy).xyz); +// 0 +PV0f.x = fract(R2f.x); +R125f.y = (R5f.x * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204)); +PV0f.y = R125f.y; +R127f.z = mul_nonIEEE(R3f.y, R4f.z); +PV0f.w = fract(R2f.y); +R127f.x = mul_nonIEEE(R3f.z, R4f.x); +PS0f = R127f.x; +// 1 +R126f.x = (R5f.y * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204)); +PV1f.y = PV0f.w + -(0.5); +PV1f.z = PV0f.x + -(0.5); +PV1f.w = mul_nonIEEE(R3f.x, R4f.y); +R127f.y = mul_nonIEEE(PV0f.y, PV0f.y); +PS1f = R127f.y; +// 2 +backupReg0f = R127f.z; +R123f.x = (mul_nonIEEE(-(PV1f.z),PV1f.z) + 1.0); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV0f.x = R123f.x; +R126f.y = (mul_nonIEEE(-(R4f.z),R3f.x) + R127f.x); +R127f.z = (mul_nonIEEE(-(R4f.y),R3f.z) + backupReg0f); +R123f.w = (mul_nonIEEE(-(PV1f.y),PV1f.y) + 1.0); +R123f.w = clamp(R123f.w, 0.0, 1.0); +PV0f.w = R123f.w; +R127f.w = (mul_nonIEEE(-(R4f.x),R3f.y) + PV1f.w); +PS0f = R127f.w; +// 3 +R123f.x = (mul_nonIEEE(R126f.x,R126f.x) + R127f.y); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV1f.x = R123f.x; +PV1f.y = mul_nonIEEE(R4f.w, R126f.x); +PV1f.z = mul_nonIEEE(PV0f.x, PV0f.w); +R126f.w = mul_nonIEEE(Color.r, R1f.x); +R126f.x = mul_nonIEEE(Color.g, R1f.y); +PS1f = R126f.x; +// 4 +PV0f.x = mul_nonIEEE(R127f.z, PV1f.y); +PV0f.y = mul_nonIEEE(R126f.y, PV1f.y); +PV0f.z = mul_nonIEEE(R127f.w, PV1f.y); +PV0f.w = -(PV1f.x) + 1.0; +PS0f = mul_nonIEEE(PV1f.z, PV1f.z); +// 5 +R123f.x = (mul_nonIEEE(R4f.y,R125f.y) + PV0f.y); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(R4f.x,R125f.y) + PV0f.x); +PV1f.y = R123f.y; +PV1f.z = mul_nonIEEE(R1f.w, PS0f); +R123f.w = (mul_nonIEEE(R4f.z,R125f.y) + PV0f.z); +PV1f.w = R123f.w; +PS1f = sqrt(PV0f.w); +// 6 +R127f.x = (mul_nonIEEE(R3f.x,PS1f) + PV1f.y); +PV0f.x = R127f.x; +R126f.y = (mul_nonIEEE(R3f.y,PS1f) + PV1f.x); +PV0f.y = R126f.y; +R126f.z = (mul_nonIEEE(R3f.z,PS1f) + PV1f.w); +PV0f.z = R126f.z; +PV0f.w = PV1f.z * intBitsToFloat(0x427f0000); +R127f.z = mul_nonIEEE(Color.b, R1f.z); +PS0f = R127f.z; +// 7 +tempf.x = dot(vec4(PV0f.x,PV0f.y,PV0f.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; +R125f.y = floor(PV0f.w); +R125f.y *= 4.0; +PS1f = R125f.y; +// 8 +PV0f.x = mul_nonIEEE(R6f.z, R127f.z); +PV0f.y = mul_nonIEEE(R6f.y, R126f.x); +R127f.z = intBitsToFloat(0x3d008081); +PV0f.w = mul_nonIEEE(R6f.x, R126f.w); +tempResultf = 1.0 / sqrt(PV1f.x); +R127f.y = tempResultf; +R127f.y /= 2.0; +PS0f = R127f.y; +// 9 +R126f.x = R125f.y + 2.0; +R6f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x) * Factor, PV0f.y); +R6f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x) * Factor, PV0f.x); +PV1f.w = intBitsToFloat(uf_remappedPS[2].z); +R6f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x) * Factor, PV0f.w); +PS1f = R6f.x; +// 10 +R3f.x = R127f.z; +R3f.y = PV1f.w; +R1f.z = (mul_nonIEEE(R126f.z,R127f.y) + 0.5); +R3f.w = 1.0; +R1f.x = (mul_nonIEEE(R127f.x,R127f.y) + 0.5); +PS0f = R1f.x; +// 11 +R1f.y = (mul_nonIEEE(R126f.y,R127f.y) + 0.5); +R6f.w = 1.0; +R1f.w = R126f.x * intBitsToFloat(0x3b808081); +PS1f = R1f.w; +// 12 +R0f.w = intBitsToFloat(0x3e828283); +// 13 +R7f.xyz = vec3(R6f.x,R6f.y,R6f.z); +R7f.w = R6f.w; +// 14 +R6f.xyz = vec3(R1f.x,R1f.y,R1f.z); +R6f.w = R1f.w; +// 15 +R5f.xyz = vec3(R0f.x,R0f.y,R0f.z); +R5f.w = R0f.w; +// 16 +R4f.xyz = vec3(R3f.x,R3f.y,R3f.z); +R4f.w = R3f.w; +// export +passPixelColor0 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +passPixelColor1 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); +passPixelColor3 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); +passPixelColor5 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/rules.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/rules.txt new file mode 100644 index 00000000..e4332b98 --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Armor/rules.txt @@ -0,0 +1,55 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Ancient Armor +path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Ancient Armor" +description = Change Ancient Amor's color and brightness. Originally it's Ancient Orange. +version = 3 + +[Preset] +name = Malice Red +$R = 0.85 +$G = 0.029 +$B = 0.15 +$L_f = 1.0 + +[Preset] +name = Guardian Yellow +$R = 1.0 +$G = 0.2 +$B = 0.059 +$L_f = 2.0 + +[Preset] +name = Guardian weapon Yellow +$R = 1.0 +$G = 0.2 +$B = 0.0 +$L_f = 1.5 + +[Preset] +name = Ancient Orange +$R = 1.0 +$G = 0.2 +$B = 0.0006 +$L_f = 1.0 + +[Preset] +name = Ancient weapon Orange +$R = 1.0 +$G = 0.15 +$B = 0.05 +$L_f = 1.0 + +[Preset] +name = Energy Blue +$R = 0.03 +$G = 0.25 +$B = 1.0 +$L_f = 2.0 + +[Preset] +name = Custom (Edit in rules.txt) +$R = 0.000 +$G = 0.000 +$B = 0.000 +$L_f = 2.0 # Brightness scaling factor diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/5c4fc00fefe604eb_00000078787f9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/5c4fc00fefe604eb_00000078787f9249_ps.txt new file mode 100644 index 00000000..11a8927a --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/5c4fc00fefe604eb_00000078787f9249_ps.txt @@ -0,0 +1,199 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Light = $L; + +// Ancient weapons + +// shader 5c4fc00fefe604eb +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +layout(binding = 1) uniform sampler2D textureUnitPS1; +layout(binding = 2) uniform sampler2D textureUnitPS2; +layout(binding = 3) uniform sampler2D textureUnitPS3; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem3; +layout(location = 2) in vec4 passParameterSem4; +layout(location = 3) in vec4 passParameterSem7; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 5) out vec4 passPixelColor5; +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 R122i = ivec4(0); +ivec4 R123i = 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; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem3); +R2i = floatBitsToInt(passParameterSem4); +R3i = floatBitsToInt(passParameterSem7); +R4i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R0i.xy)).xy); +R6i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R0i.xy)).xy); +R5i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).xyz); +R7i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.zw)).xyz); +R0i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyz); +// 0 +R126i.x = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV0i.x = R126i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R2i.z))); +PV0i.z = floatBitsToInt(fract(intBitsToFloat(R3i.y))); +PV0i.w = floatBitsToInt(fract(intBitsToFloat(R3i.x))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R2i.x))); +PS0i = R126i.y; +// 1 +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + -(0.5)); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(0.5)); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R2i.y))); +R127i.w = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV1i.w = R127i.w; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +// 2 +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.y)),intBitsToFloat(R1i.z)) + intBitsToFloat(R127i.y))); +R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.z)),intBitsToFloat(R1i.x)) + intBitsToFloat(R126i.y))); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(PV1i.x)) + 1.0)); +R123i.z = clampFI32(R123i.z); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); +R123i.w = clampFI32(R123i.w); +PV0i.w = R123i.w; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(PS1i))); +R122i.x = clampFI32(R122i.x); +PS0i = R122i.x; +// 3 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R127i.w))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.z))); +PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(0x437f0000)); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.x)),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.z))); +PV1i.w = R123i.w; +R127i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); +PS1i = R127i.w; +// 4 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(R6i.y))); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.x))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x))); +R127i.x = int(intBitsToFloat(PV1i.z)); +PS0i = R127i.x; +// 5 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.z))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.x))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.w))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.y))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); +// 6 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS1i)) + intBitsToFloat(PV1i.x))); +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PS1i)) + intBitsToFloat(PV1i.z))); +R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PS1i)) + intBitsToFloat(PV1i.w))); +PV0i.w = R127i.x & 0x000000e0; +R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x427f0000)); +PS0i = R127i.y; +// 7 +R127i.x = floatBitsToInt(mul_nonIEEE(Color.g, intBitsToFloat(R5i.y))); +R126i.y = floatBitsToInt(mul_nonIEEE(Color.b, intBitsToFloat(R5i.z))); +R127i.z = PV0i.w >> 0x00000003; +R127i.w = floatBitsToInt(mul_nonIEEE(Color.r, intBitsToFloat(R5i.x))); +R126i.w = ((intBitsToFloat(R6i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); +PS1i = R126i.w; +// 8 +backupReg0i = R127i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +R126i.x = floatBitsToInt(floor(intBitsToFloat(backupReg0i))); +R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 4.0); +PS0i = R126i.x; +// 9 +backupReg0i = R126i.y; +backupReg1i = R127i.z; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R127i.w))); +R126i.y = ((R126i.w == 0)?(0x3d008081):(0x3d20a0a1)); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(backupReg0i))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.x))); +PS1i = floatBitsToInt(float(backupReg1i)); +// 10 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(0x42820000)); +R7i.y = floatBitsToInt(mul_nonIEEE(Light, intBitsToFloat(PV1i.w))); +R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + 2.0); +PV0i.w = uf_remappedPS[2].z; +R7i.x = floatBitsToInt(mul_nonIEEE(Light, intBitsToFloat(PV1i.x))); +PS0i = R7i.x; +// 11 +R6i.x = R126i.y; +R6i.y = PV0i.w; +R7i.z = floatBitsToInt(mul_nonIEEE(Light, intBitsToFloat(R127i.z))); +R6i.w = floatBitsToInt(1.0); +R7i.w = 0x3f800000; +PS1i = R7i.w; +// 12 +R5i.w = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3b808081)); +R0i.w = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(0x3b808081)); +PS0i = R0i.w; +// 13 +tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); +PS1i = floatBitsToInt(tempResultf); +PS1i = floatBitsToInt(intBitsToFloat(PS1i) / 2.0); +// 14 +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PS1i)) + 0.5)); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PS1i)) + 0.5)); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(PS1i)) + 0.5)); +// 15 +R4i.xyz = ivec3(R7i.x,R7i.y,R7i.z); +R4i.w = R7i.w; +// 16 +R3i.xyz = ivec3(R5i.x,R5i.y,R5i.z); +R3i.w = R5i.w; +// 17 +R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); +R2i.w = R0i.w; +// 18 +R1i.xyz = ivec3(R6i.x,R6i.y,R6i.z); +R1i.w = R6i.w; +// export +passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +passPixelColor1 = 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)); +passPixelColor5 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/b1b149918fac0b8d_00001e1e1fea9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/b1b149918fac0b8d_00001e1e1fea9249_ps.txt new file mode 100644 index 00000000..c4b565b2 --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/b1b149918fac0b8d_00001e1e1fea9249_ps.txt @@ -0,0 +1,959 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Light = $L; + +// Ancient weapons when teleporting + +// shader b1b149918fac0b8d +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +layout(binding = 1) uniform sampler3D textureUnitPS1; +layout(binding = 2) uniform sampler2DArray textureUnitPS2; +layout(binding = 3) uniform sampler2D textureUnitPS3; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(binding = 6) uniform sampler2D textureUnitPS6; +layout(binding = 7) uniform sampler2D textureUnitPS7; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 2) in vec4 passParameterSem8; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem5; +layout(location = 5) in vec4 passParameterSem7; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 5) out vec4 passPixelColor5; +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 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; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem2); +R2i = floatBitsToInt(passParameterSem8); +R3i = floatBitsToInt(passParameterSem4); +R4i = floatBitsToInt(passParameterSem5); +R5i = floatBitsToInt(passParameterSem7); +if( activeMaskStackC[1] == true ) { +R6i.xy = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.xy)).xy); +R7i.xyz = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).xyz); +R9i.xy = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).xy); +R8i.xyz = floatBitsToInt(texture(textureUnitPS7, intBitsToFloat(R0i.zw)).xyz); +R10i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R0i.xy)).xyz); +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R4i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R4i.z))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R4i.x))); +R127i.w = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV0i.w = R127i.w; +R127i.y = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PS0i = R127i.y; +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.x)),intBitsToFloat(R3i.y)) + intBitsToFloat(PV0i.x))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.z)),intBitsToFloat(R3i.x)) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.y)),intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.y))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS0i))); +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.z))); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); +R126i.w = floatBitsToInt(fract(intBitsToFloat(R2i.x))); +PS0i = R126i.w; +// 3 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.y))); +PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +R126i.x = floatBitsToInt(fract(intBitsToFloat(R2i.y))); +PS1i = R126i.x; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w))); +// 5 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(PS0i)) + intBitsToFloat(R127i.z))); +PV1i.x = R127i.x; +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); +PV1i.y = R125i.y; +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PS0i)) + intBitsToFloat(R127i.y))); +PV1i.z = R126i.z; +R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + -(0.5)); +R126i.w = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +PS1i = R126i.w; +// 6 +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; +R126i.y = tempi.x; +PS0i = floatBitsToInt(intBitsToFloat(R126i.x) + -(0.5)); +// 7 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(PS0i)) + 1.0)); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(Color.g, intBitsToFloat(R7i.y))); +R127i.z = floatBitsToInt(mul_nonIEEE(Color.r, intBitsToFloat(R7i.x))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R127i.w)) + 1.0)); +R123i.w = clampFI32(R123i.w); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); +// 8 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS1i))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.x))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); +PS0i = floatBitsToInt(mul_nonIEEE(Color.b, intBitsToFloat(R7i.z))); +// 9 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PS0i))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(R9i.y))); +R123i.y = clampFI32(R123i.y); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R127i.y))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R127i.z))); +R1i.w = 0x3f800000; +PS1i = R1i.w; +// 10 +R4i.x = floatBitsToInt(mul_nonIEEE(Light, intBitsToFloat(PV1i.w))); +R4i.y = floatBitsToInt(mul_nonIEEE(Light, intBitsToFloat(PV1i.z))); +R4i.z = floatBitsToInt(mul_nonIEEE(Light, intBitsToFloat(PV1i.x))); +R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(PV1i.y))); +R4i.w = 0; +PS0i = R4i.w; +// 11 +R2i.x = floatBitsToInt(fract(intBitsToFloat(uf_remappedPS[2].w))); +R5i.w = R9i.y; +tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); +PS1i = floatBitsToInt(tempResultf); +// 12 +R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); +PV0i.x = R5i.x; +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS1i))); +PV0i.y = R5i.y; +R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); +PV0i.z = R3i.z; +// 13 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.w),-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; +R3i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); +PS1i = R3i.y; +// 14 +R3i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); +R3i.x = clampFI32(R3i.x); +// 15 +predResult = (intBitsToFloat(R2i.x) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.z = floatBitsToInt(floor(intBitsToFloat(uf_remappedPS[2].w))); +PV0i.z = R0i.z; +// 1 +R0i.z = floatBitsToInt(roundEven(intBitsToFloat(PV0i.z))); +} +if( activeMaskStackC[2] == true ) { +R0i.xyz = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).xyz); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R0i.y)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg0i)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R10i.z)) + intBitsToFloat(R0i.z)); +// 1 +backupReg0i = R10i.x; +backupReg1i = R10i.y; +backupReg2i = R10i.z; +R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg0i))); +R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg1i))); +R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg2i))); +// 2 +R5i.w = R4i.w; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R5i.z = ((intBitsToFloat(uf_remappedPS[3].w) > 0.0)?int(0xFFFFFFFF):int(0x0)); +// 1 +predResult = (R5i.z != 0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3e99999a)); +R0i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3e99999a)); +R0i.z = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3e99999a)); +} +if( activeMaskStackC[2] == true ) { +R0i.w = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.w; +PV0i.x = floatBitsToInt(intBitsToFloat(R10i.z) * intBitsToFloat(0x3dea4a8c)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); +tempResultf = max(0.0, intBitsToFloat(R3i.x)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R126i.z = floatBitsToInt(tempResultf); +PS0i = R126i.z; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(0x3e99096c),intBitsToFloat(0x3f162b6b),1.0,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.z = tempi.x; +tempResultf = max(0.0, intBitsToFloat(PV0i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 2 +R127i.x = floatBitsToInt((0.5 * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3dcccccd))); +PV0i.x = R127i.x; +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3fa66666)); +R125i.z = floatBitsToInt((intBitsToFloat(0x3f19999a) * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3e4ccccd))); +// 3 +backupReg0i = R127i.z; +PV1i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x40200000)); +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3e23d70a)); +R127i.w = floatBitsToInt((intBitsToFloat(0x3f266666) * intBitsToFloat(backupReg0i) + intBitsToFloat(0x3eb33333))); +PV1i.w = R127i.w; +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 0.25); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(0x3e851eb8)); +PV0i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3e4ccccd)); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); +PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); +// 5 +PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.w)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R125i.z))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.x))); +PV1i.w = R123i.w; +R6i.w = 0x3e99999a; +PS1i = R6i.w; +// 6 +R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); +R127i.y = clampFI32(R127i.y); +PV0i.y = R127i.y; +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); +PV0i.z = clampFI32(PV0i.z); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)); +PV0i.w = clampFI32(PV0i.w); +// 7 +PV1i.x = floatBitsToInt(-(intBitsToFloat(R10i.x)) + intBitsToFloat(PV0i.w)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(PV0i.w)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.y)); +PV1i.w = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(PV0i.z)); +R127i.x = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(PV0i.z)); +PS1i = R127i.x; +// 8 +backupReg0i = R10i.x; +backupReg1i = R10i.y; +backupReg2i = R10i.z; +backupReg3i = R4i.x; +R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(backupReg0i))); +R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(backupReg1i))); +R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(backupReg2i))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R127i.y)); +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(backupReg3i))); +PS0i = R4i.x; +// 9 +backupReg0i = R4i.y; +backupReg1i = R4i.z; +R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(backupReg0i))); +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(backupReg1i))); +// 10 +R3i.w = R1i.w; +// 11 +R5i.w = R1i.w; +// 12 +R4i.w = R1i.w; +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +R6i.w = R4i.w; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (intBitsToFloat(uf_remappedPS[3].x) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[3].y)); +// 1 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); +PV1i.y = R127i.y; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS0i))); +// 2 +R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x40666666)); +R0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x40666666)); +R0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x40666666)); +R2i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3f3851ec)); +R2i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3f3851ec)); +PS0i = R2i.y; +// 3 +R2i.z = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(0x3f3851ec)); +} +if( activeMaskStackC[2] == true ) { +R0i.z = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).x); +R2i.y = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R2i.w),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.z; +PV0i.z = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R2i.y)); +// 1 +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x3f333333) + intBitsToFloat(R0i.z))); +PV1i.y = R123i.y; +// 2 +PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(PV1i.y)); +// 3 +R127i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x41a00000)); +R127i.w = clampFI32(R127i.w); +PV1i.w = R127i.w; +// 4 +backupReg0i = R10i.x; +backupReg1i = R10i.y; +backupReg2i = R10i.z; +backupReg3i = R4i.x; +R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); +R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.w))); +R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PV1i.w))); +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg3i), intBitsToFloat(PV1i.w))); +PS0i = R4i.x; +// 5 +backupReg0i = R4i.y; +backupReg1i = R4i.z; +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.w))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R127i.w))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R0i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].x) * intBitsToFloat(0xbd088889)); +// 1 +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(uf_remappedPS[6].x))); +// 2 +predResult = (intBitsToFloat(uf_remappedPS[7].w) != 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3e22f983)); +PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40e66666)); +PV0i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3e22f983)); +PV0i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3e22f983)); +PS0i = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R3i.z)); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + 0.5)); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.y)) + 0.5)); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PS0i)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + 0.5)); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[7].w), -(intBitsToFloat(uf_remappedPS[7].w)))); +// 2 +PV0i.x = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.x))); +PV0i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.w))); +R127i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e99999a)); +R125i.w = floatBitsToInt(sqrt(intBitsToFloat(PS1i))); +PS0i = R125i.w; +// 3 +R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +R127i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +R126i.z = R3i.y; +R126i.z = clampFI32(R126i.z); +R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +PV1i.w = R123i.w; +R124i.w = floatBitsToInt((intBitsToFloat(0xc3020000) * intBitsToFloat(PS0i) + intBitsToFloat(0x43200000))); +PS1i = R124i.w; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R3i.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(0x3e22f983)); +// 5 +backupReg0i = R0i.x; +PV1i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(0x3e22f983)); +R127i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); +R0i.w = floatBitsToInt((intBitsToFloat(0xc31a0000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x43200000))); +R126i.y = floatBitsToInt(sin((intBitsToFloat(PS0i))/0.1591549367)); +PS1i = R126i.y; +// 6 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.w = tempi.x; +PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.x))/0.1591549367)); +// 7 +backupReg0i = R127i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.z))); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt((intBitsToFloat(0xc2080000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x42200000))); +PV1i.z = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PS0i)); +R127i.w = floatBitsToInt((intBitsToFloat(0xbfe66666) * intBitsToFloat(R125i.w) + intBitsToFloat(0x40333333))); +PS1i = floatBitsToInt(sin((intBitsToFloat(backupReg0i))/0.1591549367)); +// 8 +R125i.x = floatBitsToInt((intBitsToFloat(0xbd8f5c29) * intBitsToFloat(R125i.w) + intBitsToFloat(0x3d8f5c29))); +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(PV1i.z)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.w)); +R126i.w = floatBitsToInt((intBitsToFloat(0xc0333333) * intBitsToFloat(R125i.w) + intBitsToFloat(0x40333333))); +tempResultf = max(0.0, intBitsToFloat(R126i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R127i.x = floatBitsToInt(tempResultf); +PS0i = R127i.x; +// 9 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * 0.25 + intBitsToFloat(PV0i.z))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(0x3e4ccccd) + intBitsToFloat(0x3e4ccccd))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(0x3d4cccce) * intBitsToFloat(R125i.w) + intBitsToFloat(0x3dcccccd))); +PV1i.z = R123i.z; +PV1i.w = ((0.0 > intBitsToFloat(uf_remappedPS[7].w))?int(0xFFFFFFFF):int(0x0)); +R126i.x = ((intBitsToFloat(uf_remappedPS[7].w) == 0.0)?int(0xFFFFFFFF):int(0x0)); +PS1i = R126i.x; +// 10 +PV0i.x = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x41000000)); +R123i.y = ((PV1i.w == 0)?(PV1i.y):(PV1i.z)); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3f400000) + intBitsToFloat(R0i.y))); +PV0i.z = R123i.z; +PV0i.w = PV1i.x; +PV0i.w = clampFI32(PV0i.w); +R127i.z = floatBitsToInt((intBitsToFloat(0xc3480000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x43960000))); +PS0i = R127i.z; +// 11 +R127i.x = floatBitsToInt((intBitsToFloat(0xc36b0000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x437f0000))); +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0xbeb33333) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R1i.w = ((R126i.x == 0)?(PV0i.y):(0)); +R125i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); +PS1i = R125i.z; +// 12 +PV0i.x = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +R125i.y = floatBitsToInt((intBitsToFloat(0x41600000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x40c00000))); +// 13 +PV1i.z = PV0i.x; +PV1i.z = clampFI32(PV1i.z); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); +PV1i.w = clampFI32(PV1i.w); +// 14 +PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.z)); +// 15 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); +PV1i.x = R126i.x; +R125i.w = PV0i.y; +R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); +// 16 +PV0i.z = floatBitsToInt(intBitsToFloat(0x40400000) * intBitsToFloat(PV1i.x)); +// 17 +R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.z))); +PV1i.y = R126i.y; +// 18 +tempResultf = max(0.0, intBitsToFloat(PV1i.y)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 19 +PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x43480000)); +// 20 +R126i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); +PS0i = R126i.z; +// 21 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PS0i)) + intBitsToFloat(R127i.w))); +PV1i.y = R123i.y; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + intBitsToFloat(R125i.x))); +PV1i.w = R123i.w; +// 22 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.w))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(0x3ecccccd) + intBitsToFloat(PV1i.w))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(0x3ecccccd) + intBitsToFloat(PV1i.y))); +PV0i.z = R123i.z; +// 23 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.y))); +R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(0x3ecccccd) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.z))); +PV1i.w = R123i.w; +// 24 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R1i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.y))); +PV0i.z = R123i.z; +// 25 +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R1i.w))); +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +R2i.xyz = ivec3(0,0,0); +R1i.w = 0; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (intBitsToFloat(uf_remappedPS[2].x) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R1i.w; +PV0i.x = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x40490fdb)); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +PV0i.z = floatBitsToInt(intBitsToFloat(R3i.z) + -(intBitsToFloat(R10i.y))); +R127i.w = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x40600000)); +R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(backupReg0i))); +PS0i = R1i.w; +// 1 +R127i.x = R3i.y; +R127i.x = clampFI32(R127i.x); +PV1i.x = R127i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R5i.y) * 0.5 + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983) + 0.5)); +PV1i.z = R123i.z; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.z))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); +PV0i.w = R127i.w; +// 3 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +PV1i.x = R123i.x; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.w))); +PV1i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.x)); +// 4 +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.w))); +PV0i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); +// 5 +PV1i.x = PV0i.z; +PV1i.x = clampFI32(PV1i.x); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); +PV1i.y = clampFI32(PV1i.y); +PS1i = floatBitsToInt(sin((intBitsToFloat(PV0i.w))/0.1591549367)); +// 6 +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) + 1.0); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.x)); +// 7 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.y))); +PV1i.x = R127i.x; +R127i.y = PV0i.w; +R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); +PV1i.z = R127i.z; +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); +// 8 +PV0i.x = floatBitsToInt(intBitsToFloat(0x40400000) * intBitsToFloat(PV1i.z)); +R126i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3df5c290)); +R126i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e8a3d71)); +R127i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3b449ba6)); +R126i.x = PV1i.x; +R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) / 2.0); +PS0i = R126i.x; +// 9 +backupReg0i = R127i.x; +backupReg0i = R127i.x; +backupReg1i = R127i.z; +R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x41100000)); +R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40a00000)); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.x))); +PV1i.w = R123i.w; +// 10 +tempResultf = max(0.0, intBitsToFloat(PV1i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 11 +PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x40c00000)); +// 12 +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); +// 13 +R123i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(R127i.w))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x3f19999a) + intBitsToFloat(R126i.y))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x3fe66666) + intBitsToFloat(R126i.z))); +PV1i.w = R123i.w; +// 14 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.z)); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R127i.x)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.x)); +// 15 +PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.w)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.x)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.y)); +// 16 +backupReg0i = R2i.x; +backupReg1i = R2i.y; +backupReg2i = R2i.z; +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(backupReg0i))); +R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(backupReg1i))); +R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(backupReg2i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (intBitsToFloat(uf_remappedPS[2].y) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R3i.x))); +R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.x))); +// 1 +PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.x)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.x)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y), intBitsToFloat(PV0i.x))); +// 2 +backupReg0i = R2i.x; +backupReg1i = R2i.y; +backupReg2i = R2i.z; +backupReg3i = R1i.w; +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); +R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); +R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); +R1i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(PV1i.w)); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R127i.z = R1i.w; +R127i.z = clampFI32(R127i.z); +PV0i.z = R127i.z; +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),-(intBitsToFloat(PV0i.z))) + intBitsToFloat(R4i.y))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(PV0i.z))) + intBitsToFloat(R4i.x))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),-(intBitsToFloat(PV0i.z))) + intBitsToFloat(R4i.z))); +PV1i.z = R123i.z; +R127i.w = ((intBitsToFloat(PV0i.z) > 0.0)?int(0xFFFFFFFF):int(0x0)); +PV1i.w = R127i.w; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(PV0i.z))) + intBitsToFloat(R10i.x))); +PS1i = R122i.x; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.z))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.x))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),-(intBitsToFloat(R127i.z))) + intBitsToFloat(R10i.y))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.y))); +PV0i.w = R123i.w; +R125i.z = ((PV1i.w == 0)?(R10i.x):(PS1i)); +PS0i = R125i.z; +// 3 +R127i.x = ((R127i.w == 0)?(R4i.x):(PV0i.w)); +PV1i.x = R127i.x; +R127i.y = ((R127i.w == 0)?(R10i.y):(PV0i.z)); +R126i.z = ((R127i.w == 0)?(R4i.z):(PV0i.x)); +PV1i.z = R126i.z; +R126i.w = ((R127i.w == 0)?(R4i.y):(PV0i.y)); +PV1i.w = R126i.w; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R127i.z))) + intBitsToFloat(R10i.z))); +PS1i = R122i.x; +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[8].x)); +R126i.y = ((R127i.w == 0)?(R10i.z):(PS1i)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(uf_remappedPS[8].y)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),-(intBitsToFloat(R127i.z))) + intBitsToFloat(R3i.w))); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[8].z)); +// 5 +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(R127i.x))); +R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(R126i.w))); +R0i.z = ((R127i.w == 0)?(R3i.w):(PV0i.w)); +PV1i.z = R0i.z; +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(R126i.z))); +PS1i = R4i.z; +// 6 +R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R125i.z))); +R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R127i.y))); +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R126i.y))); +PS0i = R6i.z; +// 7 +predResult = (1.0 > intBitsToFloat(uf_remappedPS[5].w)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].w)) + 1.0); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedPS[6].x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(uf_remappedPS[6].x))); +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(uf_remappedPS[6].x))); +PV0i.w = R1i.w; +// 1 +R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[9].z))); +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[9].z))); +R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[9].z))); +R0i.w = PV0i.z; +R0i.w = floatBitsToInt(intBitsToFloat(R0i.w) / 2.0); +R2i.x = PV0i.y; +R2i.x = floatBitsToInt(intBitsToFloat(R2i.x) / 2.0); +PS1i = R2i.x; +} +if( activeMaskStackC[2] == true ) { +R1i.x = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +R0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbe19999a)); +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[9].y))); +R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].w),intBitsToFloat(R1i.x)) + intBitsToFloat(R0i.w))); +} +if( activeMaskStackC[2] == true ) { +R0i.w = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.w; +R2i.z = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[5].w)) * intBitsToFloat(0x40200000) + intBitsToFloat(0x40200000))); +R2i.z = clampFI32(R2i.z); +PV0i.w = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(0x3f969696)); +PV0i.w = clampFI32(PV0i.w); +tempResultf = max(0.0, intBitsToFloat(backupReg0i)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 1 +if( (intBitsToFloat(PV0i.w) > intBitsToFloat(R0i.w))) discard; +R0i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3fe66666)); +} +if( activeMaskStackC[2] == true ) { +// 0 +R127i.z = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); +PS0i = R127i.z; +// 1 +R123i.x = floatBitsToInt((intBitsToFloat(0x40b1999a) * intBitsToFloat(PS0i) + intBitsToFloat(0x3ee66666))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(0x3dccccce) * intBitsToFloat(PS0i) + intBitsToFloat(0x3e4ccccd))); +PV1i.y = R123i.y; +// 2 +backupReg0i = R4i.x; +backupReg1i = R4i.y; +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); +R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); +R123i.w = floatBitsToInt((intBitsToFloat(0x41200000) * intBitsToFloat(R127i.z) + 4.0)); +PV0i.w = R123i.w; +// 3 +backupReg0i = R4i.z; +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R0i.z))); +PV0i.x = R123i.x; +PV0i.y = ((intBitsToFloat(R5i.w) > 0.5)?int(0xFFFFFFFF):int(0x0)); +PV0i.z = ((intBitsToFloat(R6i.w) > 0.0)?int(0xFFFFFFFF):int(0x0)); +R127i.w = uf_remappedPS[7].z; +R1i.w = floatBitsToInt(1.0); +PS0i = R1i.w; +// 1 +R123i.x = ((PV0i.y == 0)?(0x3d008081):(0x3d20a0a1)); +PV1i.x = R123i.x; +R127i.y = ((PV0i.z == 0)?(0):(0x3f800000)); +PV1i.y = R127i.y; +R0i.z = floatBitsToInt((intBitsToFloat(R3i.z) * 0.5 + 0.5)); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x427f0000)); +R0i.x = floatBitsToInt((intBitsToFloat(R5i.x) * 0.5 + 0.5)); +PS1i = R0i.x; +// 2 +PV0i.x = ((intBitsToFloat(PV1i.y) > 0.0)?int(0xFFFFFFFF):int(0x0)); +R0i.y = floatBitsToInt((intBitsToFloat(R5i.y) * 0.5 + 0.5)); +PV0i.z = floatBitsToInt(floor(intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); +R123i.w = ((R5i.z == 0)?(PV1i.x):(0x3d30b0b1)); +PV0i.w = R123i.w; +R2i.w = 0x3f800000; +PS0i = R2i.w; +// 3 +R1i.x = PV0i.w; +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + 2.0); +R123i.w = ((PV0i.x == 0)?(R5i.w):(R6i.w)); +PV1i.w = R123i.w; +R1i.y = R127i.w; +PS1i = R1i.y; +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV1i.y)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x437f0000)); +// 5 +R0i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b808081)); +PS1i = int(intBitsToFloat(PV0i.z)); +// 6 +PV0i.x = PS1i & 0x000000e0; +// 7 +PV1i.w = PV0i.x >> 0x00000003; +// 8 +PS0i = floatBitsToInt(float(PV1i.w)); +// 9 +PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(0x42800000)); +// 10 +R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * 2.0 + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +// 11 +R5i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b808081) + intBitsToFloat(0x3b808081))); +// 12 +backupReg0i = R4i.x; +backupReg1i = R4i.y; +backupReg2i = R4i.z; +R4i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); +R4i.w = R2i.w; +// 13 +R3i.xyz = ivec3(R0i.x,R0i.y,R0i.z); +R3i.w = R0i.w; +// 14 +R2i.xyz = ivec3(R6i.x,R6i.y,R6i.z); +R2i.w = R5i.w; +// 15 +backupReg0i = R1i.x; +backupReg1i = R1i.y; +backupReg2i = R1i.z; +backupReg3i = R1i.w; +R1i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); +R1i.w = backupReg3i; +} +// export +passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +passPixelColor1 = 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)); +passPixelColor5 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/f611e1b3827b5e13_0000079a492a9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/f611e1b3827b5e13_0000079a492a9249_ps.txt new file mode 100644 index 00000000..dbdac62c --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/f611e1b3827b5e13_0000079a492a9249_ps.txt @@ -0,0 +1,1080 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Light = $L; + +// Ancient weapons when Link is transparent + +// shader f611e1b3827b5e13 +uniform vec2 uf_fragCoordScale; +layout(binding = 33, std140) +uniform uniformBlockPS1 +{ +vec4 uf_blockPS1[1024]; +}; + + +layout(binding = 38, std140) +uniform uniformBlockPS6 +{ +vec4 uf_blockPS6[1024]; +}; + + +layout(binding = 40, std140) +uniform uniformBlockPS8 +{ +vec4 uf_blockPS8[1024]; +}; + + +layout(binding = 42, std140) +uniform uniformBlockPS10 +{ +vec4 uf_blockPS10[1024]; +}; + + +layout(binding = 0) uniform sampler2D textureUnitPS0; +layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1; +layout(binding = 2) uniform sampler2D textureUnitPS2; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(binding = 6) uniform sampler2D textureUnitPS6; +layout(binding = 7) uniform sampler3D textureUnitPS7; +layout(binding = 8) uniform sampler2DArray textureUnitPS8; +layout(binding = 9) uniform sampler2D textureUnitPS9; +layout(binding = 10) uniform sampler2D textureUnitPS10; +layout(binding = 11) uniform sampler2D textureUnitPS11; +layout(binding = 12) uniform sampler2D textureUnitPS12; +layout(binding = 13) uniform sampler2D textureUnitPS13; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +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 = 0) out vec4 passPixelColor0; +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; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem2); +R2i = floatBitsToInt(passParameterSem4); +R3i = floatBitsToInt(passParameterSem5); +R4i = floatBitsToInt(passParameterSem7); +R5i = floatBitsToInt(passParameterSem8); +R6i = floatBitsToInt(passParameterSem9); +if( activeMaskStackC[1] == true ) { +R7i.xy = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R0i.xy)).xy); +R9i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R0i.xy)).xyz); +R8i.xy = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R0i.xy)).xy); +R10i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R0i.zw)).xyz); +R12i.xyz = floatBitsToInt(texture(textureUnitPS9, intBitsToFloat(R0i.xy)).xyz); +} +if( activeMaskStackC[1] == true ) { +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R3i.z))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R3i.y))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R3i.x))); +R126i.w = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV0i.w = R126i.w; +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R6i.w)); +// 1 +backupReg0i = R6i.x; +backupReg1i = R6i.y; +R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i))); +R123i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.y)),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.x))); +PS1i = R127i.x; +// 2 +backupReg0i = R127i.y; +backupReg1i = R127i.z; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.w))); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.z))); +R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.x)),intBitsToFloat(R2i.y)) + intBitsToFloat(backupReg0i))); +R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.z)),intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg1i))); +R6i.w = floatBitsToInt(fract(intBitsToFloat(R5i.x))); +PS0i = R6i.w; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R125i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +PS1i = R125i.w; +// 4 +backupReg0i = R5i.y; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.y))); +R5i.y = floatBitsToInt(fract(intBitsToFloat(backupReg0i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); +R5i.x = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +PS0i = R5i.x; +// 5 +backupReg0i = R3i.x; +R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w))); +R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.x))); +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockPS6[44].x)); +R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.z))); +R3i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.w))); +PS1i = R3i.z; +} +if( activeMaskStackC[1] == true ) { +R13i.xy = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xy); +} +if( activeMaskStackC[1] == true ) { +// 0 +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R3i.z)) + intBitsToFloat(R3i.y))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R3i.z)) + intBitsToFloat(R3i.x))); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R3i.z)) + intBitsToFloat(R3i.w))); +PV0i.w = floatBitsToInt(intBitsToFloat(R6i.w) + -(0.5)); +R6i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].x, uf_blockPS10[2].w)); +PS0i = R6i.x; +// 1 +R127i.x = floatBitsToInt(intBitsToFloat(R5i.y) + -(0.5)); +R14i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].y, uf_blockPS10[2].w)); +R2i.z = floatBitsToInt(-(intBitsToFloat(R4i.z)) * intBitsToFloat(0x3d4ccccd)); +R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(PV0i.w)) + 1.0)); +R126i.w = clampFI32(R126i.w); +R2i.x = PS0i; +PS1i = R2i.x; +// 2 +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))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R125i.w = tempi.x; +R11i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].z, uf_blockPS10[2].w)); +PS0i = R11i.z; +// 3 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.x)),intBitsToFloat(R127i.x)) + 1.0)); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R2i.y = PS0i; +R3i.z = 0; +R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R14i.y)),intBitsToFloat(R14i.y)) + 1.0)); +R7i.w = 0x3f800000; +PS1i = R7i.w; +// 4 +R15i.y = R13i.x; +R15i.y = clampFI32(R15i.y); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.x))); +R8i.w = 0; +R6i.w = R8i.y; +PS0i = R6i.w; +// 5 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(R8i.y))); +R123i.y = clampFI32(R123i.y); +PV1i.y = R123i.y; +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R5i.x)); +// 6 +R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS1i))); +R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); +PV0i.y = R11i.y; +R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i))); +PV0i.z = R13i.z; +R9i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV1i.y))); +tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.w)); +PS0i = floatBitsToInt(tempResultf); +// 7 +backupReg0i = R127i.y; +R13i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); +R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); +R14i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R3i.z))); +R16i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); +PS1i = R16i.y; +// 8 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R13i.z),intBitsToFloat(PV1i.w),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),1.0,0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.z = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); +R127i.z = floatBitsToInt(tempResultf); +PS0i = R127i.z; +// 9 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R13i.x),intBitsToFloat(R16i.y),intBitsToFloat(R14i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); +PS1i = floatBitsToInt(tempResultf); +// 10 +R8i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); +R8i.x = clampFI32(R8i.x); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(R11i.z))); +// 11 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R14i.y),1.0,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R15i.z = tempi.x; +R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R126i.z))); +PS1i = R4i.w; +} +if( activeMaskStackC[1] == true ) { +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockPS6[43].x)); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),uf_blockPS6[44].y) + intBitsToFloat(R5i.z))); +// 1 +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockPS6[45].x)); +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),uf_blockPS6[43].y) + intBitsToFloat(PV0i.x))); +// 2 +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),uf_blockPS6[45].y) + intBitsToFloat(PV1i.y))); +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),uf_blockPS6[44].z) + intBitsToFloat(R127i.y))); +// 3 +PV1i.x = floatBitsToInt(mul_nonIEEE(Color.y, intBitsToFloat(R9i.y))); +PV1i.y = floatBitsToInt(mul_nonIEEE(Color.x, intBitsToFloat(R9i.x))); +PV1i.w = floatBitsToInt(mul_nonIEEE(Color.z, intBitsToFloat(R9i.z))); +// 4 +backupReg0i = R126i.z; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV1i.w))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(PV1i.x))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(PV1i.y))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),uf_blockPS6[43].z) + intBitsToFloat(backupReg0i))); +PV0i.w = R123i.w; +R8i.y = floatBitsToInt(uf_blockPS6[44].w + intBitsToFloat(R127i.w)); +PS0i = R8i.y; +// 5 +R14i.x = floatBitsToInt(uf_blockPS6[43].w + intBitsToFloat(PV0i.w)); +R9i.y = PS0i; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),uf_blockPS6[45].z) + intBitsToFloat(R126i.x))); +PV1i.w = R123i.w; +// 6 +R16i.z = floatBitsToInt(uf_blockPS6[45].w + intBitsToFloat(PV1i.w)); +R2i.w = floatBitsToInt((-(uf_blockPS6[53].w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(R2i.z))); +R2i.w = clampFI32(R2i.w); +R6i.z = floatBitsToInt((-(uf_blockPS6[53].z) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(R2i.z))); +R6i.z = clampFI32(R6i.z); +PS0i = R6i.z; +// 7 +R10i.x = floatBitsToInt(mul_nonIEEE(Light, intBitsToFloat(R126i.z))); +R10i.y = floatBitsToInt(mul_nonIEEE(Light, intBitsToFloat(R127i.y))); +R10i.z = floatBitsToInt(mul_nonIEEE(Light, intBitsToFloat(R127i.x))); +R2i.x = floatBitsToInt(fract(uf_blockPS8[36].w)); +PS1i = R2i.x; +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R9i.x = floatBitsToInt(uf_blockPS1[0].y); +PV0i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R4i.z)), uf_blockPS1[17].y)); +// 1 +R17i.y = floatBitsToInt(uf_blockPS1[1].y); +R8i.z = floatBitsToInt(uf_blockPS1[2].y); +R9i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); +PS1i = R9i.z; +// 2 +predResult = (intBitsToFloat(R2i.x) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.z = floatBitsToInt(floor(uf_blockPS8[36].w)); +PV0i.z = R0i.z; +// 1 +R0i.z = floatBitsToInt(roundEven(intBitsToFloat(PV0i.z))); +} +if( activeMaskStackC[2] == true ) { +R0i.xyz = floatBitsToInt(texture(textureUnitPS8, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).xyz); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(R0i.y)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(backupReg0i)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R12i.z)) + intBitsToFloat(R0i.z)); +// 1 +backupReg0i = R12i.x; +backupReg1i = R12i.y; +backupReg2i = R12i.z; +R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg0i))); +R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg1i))); +R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg2i))); +// 2 +R6i.w = R8i.w; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (uf_blockPS8[33].w > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.z = 0; +} +if( activeMaskStackC[2] == true ) { +R0i.w = floatBitsToInt(texture(textureUnitPS7, vec3(intBitsToFloat(R0i.z),intBitsToFloat(R0i.z),intBitsToFloat(R0i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.w; +PV0i.x = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(0x3dea4a8c)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); +tempResultf = max(0.0, intBitsToFloat(R8i.x)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R126i.z = floatBitsToInt(tempResultf); +PS0i = R126i.z; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(0x3e99096c),intBitsToFloat(0x3f162b6b),1.0,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.z = tempi.x; +tempResultf = max(0.0, intBitsToFloat(PV0i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 2 +R127i.x = floatBitsToInt((0.5 * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3dcccccd))); +PV0i.x = R127i.x; +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3fa66666)); +R125i.z = floatBitsToInt((intBitsToFloat(0x3f19999a) * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3e4ccccd))); +// 3 +backupReg0i = R127i.z; +PV1i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x40200000)); +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3e23d70a)); +R127i.w = floatBitsToInt((intBitsToFloat(0x3f266666) * intBitsToFloat(backupReg0i) + intBitsToFloat(0x3eb33333))); +PV1i.w = R127i.w; +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 0.25); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(0x3e851eb8)); +PV0i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3e4ccccd)); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); +PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); +// 5 +PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.w)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R125i.z))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.x))); +PV1i.w = R123i.w; +R8i.w = 0x3e99999a; +PS1i = R8i.w; +// 6 +R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); +R127i.y = clampFI32(R127i.y); +PV0i.y = R127i.y; +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); +PV0i.z = clampFI32(PV0i.z); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)); +PV0i.w = clampFI32(PV0i.w); +// 7 +PV1i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV0i.w)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R10i.x)) + intBitsToFloat(PV0i.w)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R12i.z)) + intBitsToFloat(PV0i.y)); +PV1i.w = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV0i.z)); +R127i.x = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(PV0i.z)); +PS1i = R127i.x; +// 8 +backupReg0i = R12i.x; +backupReg1i = R12i.y; +backupReg2i = R12i.z; +backupReg3i = R10i.x; +R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),uf_blockPS8[33].w) + intBitsToFloat(backupReg0i))); +R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),uf_blockPS8[33].w) + intBitsToFloat(backupReg1i))); +R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),uf_blockPS8[33].w) + intBitsToFloat(backupReg2i))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R10i.z)) + intBitsToFloat(R127i.y)); +R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),uf_blockPS8[33].w) + intBitsToFloat(backupReg3i))); +PS0i = R10i.x; +// 9 +backupReg0i = R10i.y; +backupReg1i = R10i.z; +R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),uf_blockPS8[33].w) + intBitsToFloat(backupReg0i))); +R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),uf_blockPS8[33].w) + intBitsToFloat(backupReg1i))); +// 10 +R9i.w = R7i.w; +// 11 +R6i.w = R7i.w; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +PV0i.x = floatBitsToInt(uf_blockPS10[2].z + 1.0); +// 1 +R17i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.x)); +R17i.z = clampFI32(R17i.z); +// 2 +predResult = (1.0 > intBitsToFloat(R6i.z)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R127i.x = ((-(intBitsToFloat(R4i.z)) > uf_blockPS1[58].y)?int(0xFFFFFFFF):int(0x0)); +R6i.y = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(0x3ac49ba6))); +PV0i.w = ((-(intBitsToFloat(R4i.z)) > uf_blockPS1[58].x)?int(0xFFFFFFFF):int(0x0)); +// 1 +PV1i.z = PV0i.w & int(1); +// 2 +PV0i.y = PV1i.z - R127i.x; +// 3 +PV1i.w = PV0i.y << 0x00000002; +PS1i = floatBitsToInt(float(PV0i.y)); +// 4 +R0i.x = PV1i.w + 0x0000002c; +R0i.y = PV1i.w + 0x0000002b; +R0i.z = PV1i.w + 0x0000002a; +R0i.w = PV1i.w + 0x0000002d; +R7i.z = floatBitsToInt(roundEven(intBitsToFloat(PS1i))); +PS0i = R7i.z; +} +if( activeMaskStackC[2] == true ) { +R2i.xyzw = floatBitsToInt(uf_blockPS1[R0i.w].xyzw); +R3i.xyzw = floatBitsToInt(uf_blockPS1[R0i.x].xyzw); +R5i.xyzw = floatBitsToInt(uf_blockPS1[R0i.z].xyzw); +R0i.xyzw = floatBitsToInt(uf_blockPS1[R0i.y].xyzw); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R3i.x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R2i.x))); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(PV0i.x))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R5i.x))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R0i.x))); +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R2i.z)) + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R3i.z)) + intBitsToFloat(PV1i.x))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R5i.y)) + intBitsToFloat(PV1i.z))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(PV1i.w))); +PV0i.w = R123i.w; +// 3 +R127i.x = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(PV0i.y)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R5i.z)) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R0i.z)) + intBitsToFloat(PV0i.w))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.x)); +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV1i.z)); +PV0i.w = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); +// 5 +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); +R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +// 6 +R127i.z = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PV1i.w)); +PV0i.z = R127i.z; +// 7 +PV1i.y = ((intBitsToFloat(0x3727c5ac) > intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); +// 8 +R123i.y = ((PV1i.y == 0)?(R127i.z):(0x3727c5ac)); +PV0i.y = R123i.y; +// 9 +R7i.w = PV0i.y; +R7i.w = clampFI32(R7i.w); +} +if( activeMaskStackC[2] == true ) { +R7i.z = floatBitsToInt(texture(textureUnitPS1, vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R7i.z)) + 1.0); +// 1 +R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R6i.z)) + intBitsToFloat(R7i.z))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R0i.x = floatBitsToInt((intBitsToFloat(R14i.x) * intBitsToFloat(0x38d1b717) + 0.5)); +R0i.y = floatBitsToInt((intBitsToFloat(R16i.z) * intBitsToFloat(0x3903126f) + 0.5)); +R6i.z = floatBitsToInt(-(intBitsToFloat(R4i.z)) * intBitsToFloat(0x3ba3d70a)); +PV0i.z = R6i.z; +R0i.w = 0x3f800000; +PV0i.w = R0i.w; +R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.z)),uf_blockPS6[26].x) + -(uf_blockPS6[26].y))); +R127i.w = clampFI32(R127i.w); +PS0i = R127i.w; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R9i.y),intBitsToFloat(R16i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS1[37].x,uf_blockPS1[37].y,uf_blockPS1[37].z,uf_blockPS1[37].w))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R2i.w = PV0i.z; +PS1i = R2i.w; +// 2 +backupReg0i = R0i.w; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R9i.y),intBitsToFloat(R16i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockPS1[35].x,uf_blockPS1[35].y,uf_blockPS1[35].z,uf_blockPS1[35].w))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); +PS0i = R127i.z; +// 3 +backupReg0i = R0i.w; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R9i.y),intBitsToFloat(R16i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockPS1[36].x,uf_blockPS1[36].y,uf_blockPS1[36].z,uf_blockPS1[36].w))); +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(PS0i))); +PS1i = R2i.x; +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); +R0i.z = floatBitsToInt(intBitsToFloat(R14i.x) * intBitsToFloat(0x3a83126f)); +R0i.w = floatBitsToInt(intBitsToFloat(R16i.z) * intBitsToFloat(0x3a83126f)); +PS0i = floatBitsToInt(intBitsToFloat(R15i.z) + -(intBitsToFloat(R4i.w))); +// 5 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R4i.w))); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt(-(uf_blockPS6[27].w) + 1.0); +R3i.z = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0xbe99999a) + -(intBitsToFloat(R6i.x)))); +R3i.w = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0xbe99999a) + -(intBitsToFloat(R14i.y)))); +tempResultf = max(0.0, intBitsToFloat(PV0i.x)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R127i.z = floatBitsToInt(tempResultf); +PS1i = R127i.z; +// 6 +backupReg0i = R6i.x; +R6i.x = floatBitsToInt((intBitsToFloat(R13i.z) * intBitsToFloat(0xbe99999a) + -(intBitsToFloat(R11i.z)))); +PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[27].y, intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), intBitsToFloat(0xbf7d70a4))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); +R4i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) * 1.5); +R6i.y = 0x3f19999a; +PS0i = R6i.y; +// 7 +R7i.x = ((intBitsToFloat(R6i.w) > 0.0)?int(0xFFFFFFFF):int(0x0)); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.z)),uf_blockPS6[28].x) + -(uf_blockPS6[28].y))); +R123i.y = clampFI32(R123i.y); +PV1i.y = R123i.y; +R2i.z = floatBitsToInt(1.0); +R127i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + 0.5); +PV1i.w = R127i.w; +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 8 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); +R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS1i)) + uf_blockPS6[27].w)/2.0); +PV0i.z = R123i.z; +R126i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); +tempResultf = max(0.0, intBitsToFloat(R8i.x)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 9 +PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3ecccccd)); +R3i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + 0.5); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(0xbe593484))); +PV1i.z = R123i.z; +R125i.w = floatBitsToInt(max(intBitsToFloat(R12i.y), intBitsToFloat(R12i.z))); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +// 10 +PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(R9i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(R9i.z) * intBitsToFloat(0x3f99999a)); +PV0i.z = clampFI32(PV0i.z); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(0x3fc90da4))); +PV0i.w = R123i.w; +R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); +PS0i = R5i.w; +// 11 +R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),-(intBitsToFloat(PV0i.w))) + 1.0)); +R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.y))); +R7i.z = floatBitsToInt(max(intBitsToFloat(R12i.x), intBitsToFloat(R125i.w))); +R6i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[27].x, intBitsToFloat(R127i.z))); +tempResultf = max(0.0, intBitsToFloat(R126i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R8i.x = floatBitsToInt(tempResultf); +PS1i = R8i.x; +} +if( activeMaskStackC[1] == true ) { +R5i.xyz = floatBitsToInt(textureLod(textureUnitPS6, intBitsToFloat(R0i.xy),0.0).xyz); +R2i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R2i.xy),intBitsToFloat(R2i.w)).x); +R2i.x = floatBitsToInt(textureLod(textureUnitPS4, intBitsToFloat(R0i.zw),0.0).x); +R0i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R3i.xy)).xyz); +} +if( activeMaskStackC[1] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.z),intBitsToFloat(R3i.w),intBitsToFloat(R6i.x),-0.0),vec4(intBitsToFloat(R3i.z),intBitsToFloat(R3i.w),intBitsToFloat(R6i.x),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = floatBitsToInt(intBitsToFloat(R2i.y) + uf_blockPS10[1].z); +R127i.y = clampFI32(R127i.y); +PS0i = R127i.y; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.w),intBitsToFloat(R6i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(R4i.w),intBitsToFloat(R6i.y),intBitsToFloat(R2i.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)); +R126i.w = floatBitsToInt(tempResultf); +PS1i = R126i.w; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(uf_blockPS6[42].x,uf_blockPS6[42].y,uf_blockPS6[42].z,0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +R125i.w = floatBitsToInt(tempResultf); +PS0i = R125i.w; +// 3 +backupReg0i = R126i.w; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R126i.w))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(R126i.w))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(backupReg0i))); +R126i.z = PS0i; +PS1i = R126i.z; +// 4 +backupReg0i = R127i.y; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(R125i.w))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R125i.w))); +R125i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[3].z, intBitsToFloat(backupReg0i))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); +PV0i.w = R125i.w; +R127i.w = floatBitsToInt((intBitsToFloat(R2i.x) * 2.0 + -(1.0))); +PS0i = R127i.w; +// 5 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R16i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w),0.0))); +tempi.x = clampFI32(tempi.x); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.w = tempi.x; +PS1i = floatBitsToInt(intBitsToFloat(R7i.w) + -(intBitsToFloat(PV0i.w))); +// 6 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R16i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),0.0))); +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(PS1i),intBitsToFloat(R17i.z)) + intBitsToFloat(R125i.w))); +PS0i = R122i.x; +// 7 +R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[29].x, intBitsToFloat(R8i.x))); +R127i.y = floatBitsToInt(min(intBitsToFloat(R12i.y), intBitsToFloat(R12i.z))); +R126i.z = floatBitsToInt(intBitsToFloat(PS0i) + uf_blockPS10[1].y); +R126i.z = clampFI32(R126i.z); +R123i.w = ((R7i.x == 0)?(R126i.w):(PV0i.x)); +PV1i.w = R123i.w; +R126i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(0x2edbe6ff)); +PS1i = R126i.w; +// 8 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R17i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R13i.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 = max(0.0, intBitsToFloat(PV1i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 9 +PV1i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(0xbecccccd)); +R6i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(0x41c80000) + intBitsToFloat(R8i.y))); +PV1i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x41400000)); +R127i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); +tempResultf = max(0.0, intBitsToFloat(PV0i.x)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 10 +R126i.x = R1i.w; +R126i.x = clampFI32(R126i.x); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x41200000)); +PV0i.y = clampFI32(PV0i.y); +R126i.z = floatBitsToInt(min(intBitsToFloat(R12i.x), intBitsToFloat(R127i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[29].z, intBitsToFloat(PS1i))); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); +PS0i = clampFI32(PS0i); +// 11 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.y))); +PV1i.x = R4i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PS0i))); +R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.z)),uf_blockPS6[18].x) + uf_blockPS6[17].w)); +R125i.z = clampFI32(R125i.z); +R125i.w = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x40200001)); +R125i.w = clampFI32(R125i.w); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); +// 12 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); +R127i.y = floatBitsToInt((mul_nonIEEE(-(uf_blockPS6[29].w),intBitsToFloat(PS1i)) + 1.0)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(0xbd4ccccd))); +PV0i.z = R123i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(0xbc23d70a))); +PS0i = floatBitsToInt(exp2(intBitsToFloat(R6i.w))); +// 13 +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.x)) + 1.0)); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x41a00000)); +PV1i.y = clampFI32(PV1i.y); +R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[27].z,-(intBitsToFloat(PS0i))) + uf_blockPS6[27].z)); +R4i.w = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R13i.y) + 1.0)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.x))); +// 14 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS1i)),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.y))); +PV0i.x = R123i.x; +R127i.y = floatBitsToInt(intBitsToFloat(R125i.w) * intBitsToFloat(0x3dcccccd)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3df5c28f)); +PV0i.w = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x42480000)); +PV0i.w = clampFI32(PV0i.w); +R3i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); +PS0i = R3i.z; +// 15 +R127i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(PV0i.z))); +R127i.x = clampFI32(R127i.x); +R4i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PS0i)) + 1.0)); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS6[30].w)); +R127i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(0xbfe66666)); +tempResultf = max(0.0, intBitsToFloat(R7i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 16 +R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R4i.w))); +R126i.y = floatBitsToInt((intBitsToFloat(R9i.z) * intBitsToFloat(0x3dcccccd) + 1.0)); +PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f19999a)); +PV0i.w = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(0x3da3d70a)); +PV0i.w = clampFI32(PV0i.w); +tempResultf = max(0.0, intBitsToFloat(R125i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 17 +PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[18].y, intBitsToFloat(PS0i))); +R123i.y = floatBitsToInt((-(intBitsToFloat(R4i.y)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); +PV1i.y = R123i.y; +R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); +R127i.z = clampFI32(R127i.z); +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.x))); +R5i.w = clampFI32(R5i.w); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); +// 18 +R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PS1i)) + intBitsToFloat(PS1i))); +R7i.y = floatBitsToInt(-(intBitsToFloat(R6i.x)) + 1.0); +R6i.z = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(0x42960000)); +R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R4i.w))); +R6i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); +PS0i = R6i.w; +// 19 +R8i.x = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(0x2edbe6ff)); +R5i.y = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3f4ccccd)); +R4i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3f4ccccd)); +R3i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3f4ccccd)); +R2i.y = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(R127i.z))); +PS1i = R2i.y; +} +if( activeMaskStackC[1] == true ) { +// 0 +backupReg0i = R0i.w; +tempi.x = floatBitsToInt(dot(vec4(uf_blockPS6[4].x,uf_blockPS6[4].y,uf_blockPS6[4].z,-0.0),vec4(intBitsToFloat(R13i.x),intBitsToFloat(R16i.y),intBitsToFloat(R14i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(R7i.y)) + intBitsToFloat(R7i.y))); +PS0i = R127i.w; +// 1 +R126i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R4i.x)); +R126i.x = clampFI32(R126i.x); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + uf_blockPS6[52].x); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS6[16].w)); +PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.y)),intBitsToFloat(R5i.w)) + intBitsToFloat(R4i.y))); +R127i.x = clampFI32(R127i.x); +PS1i = R127i.x; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),uf_blockPS6[15].x) + uf_blockPS6[14].w)); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R7i.x)) + intBitsToFloat(R7i.z))); +R125i.w = clampFI32(R125i.w); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R8i.x)); +// 3 +backupReg0i = R127i.x; +PV1i.x = floatBitsToInt(uf_blockPS6[5].x + -(intBitsToFloat(R3i.w))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); +PV1i.z = floatBitsToInt(uf_blockPS6[5].y + -(intBitsToFloat(R4i.z))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS6[13].w)); +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); +PS1i = R127i.x; +// 4 +backupReg0i = R4i.z; +PV0i.x = floatBitsToInt(uf_blockPS6[5].z + -(intBitsToFloat(R5i.y))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R4i.w))); +PV0i.y = R126i.y; +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(R3i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R6i.z))); +PV0i.w = clampFI32(PV0i.w); +R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); +PS0i = R3i.w; +// 5 +backupReg0i = R2i.x; +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(R5i.y))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R125i.w))); +R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.w)) + intBitsToFloat(R8i.w))); +R3i.z = clampFI32(R3i.z); +R125i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0); +R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); +PS1i = R125i.z; +// 6 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.w))); +R126i.y = floatBitsToInt(intBitsToFloat(R12i.z) + -(intBitsToFloat(R7i.z))); +R127i.z = floatBitsToInt(intBitsToFloat(R12i.y) + -(intBitsToFloat(R7i.z))); +PV0i.w = floatBitsToInt(intBitsToFloat(R12i.x) + -(intBitsToFloat(R7i.z))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); +PS0i = R125i.y; +// 7 +backupReg0i = R125i.w; +R126i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].x, intBitsToFloat(PV0i.x))); +R124i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].z, intBitsToFloat(PV0i.x))); +R126i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].y, intBitsToFloat(PV0i.x))); +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R15i.y)) + intBitsToFloat(R2i.y))); +PV1i.w = R125i.w; +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(R7i.z))); +PS1i = R125i.x; +// 8 +backupReg0i = R127i.x; +backupReg1i = R127i.z; +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(R127i.y)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV1i.w))); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.z))); +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.z))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(PV1i.w))); +PS0i = R126i.y; +// 9 +backupReg0i = R126i.x; +backupReg1i = R126i.z; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R125i.w))); +R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].x,intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); +PV1i.y = R123i.y; +R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].z,intBitsToFloat(R125i.y)) + intBitsToFloat(R124i.y))); +R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].y,intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg1i))); +PV1i.w = R123i.w; +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),-(intBitsToFloat(R0i.w))) + intBitsToFloat(R6i.x))); +PS1i = R125i.y; +// 10 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS1i)) + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(0xba0a8ec8))); +R0i.y = clampFI32(R0i.y); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(0xba0a8ec8))); +R0i.z = clampFI32(R0i.z); +R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R125i.x)) + intBitsToFloat(0xba0a8ec8))); +R4i.w = clampFI32(R4i.w); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(PV1i.w))); +PS0i = R122i.x; +// 11 +R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].y,intBitsToFloat(R0i.w)) + intBitsToFloat(PS0i))); +R2i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].x,intBitsToFloat(R0i.w)) + intBitsToFloat(PV0i.x))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(R126i.z))); +PV1i.z = R123i.z; +R6i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.y)),intBitsToFloat(R125i.z)) + intBitsToFloat(R125i.z))); +PV1i.w = R6i.w; +// 12 +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); +R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].z,intBitsToFloat(R0i.w)) + intBitsToFloat(PV1i.z))); +// 13 +R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(PV0i.y))); +PV1i.x = R6i.x; +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(PV0i.y))); +PV1i.y = R4i.y; +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.y))); +PV1i.w = R5i.w; +// 14 +R126i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x3fb8aa3b)); +R125i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) * intBitsToFloat(0x3fb8aa3b)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.y)) * intBitsToFloat(0x3fb8aa3b)); +// 15 +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); +// 16 +R0i.x = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PS0i = floatBitsToInt(exp2(intBitsToFloat(R126i.x))); +// 17 +R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); +PS1i = floatBitsToInt(exp2(intBitsToFloat(R125i.y))); +// 18 +R7i.z = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +} +if( activeMaskStackC[1] == true ) { +// 0 +R126i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].w, intBitsToFloat(R3i.z))); +PV0i.x = R126i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), uf_blockPS10[0].x)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS10[0].y)); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.x))); +PV1i.x = R123i.x; +R125i.y = ((1.0 > uf_blockPS8[37].x)?int(0xFFFFFFFF):int(0x0)); +PV1i.y = R125i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.y))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), uf_blockPS10[0].z)); +// 2 +backupReg0i = R0i.x; +backupReg1i = R0i.w; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.w))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(R1i.z))); +PV0i.y = R123i.y; +R125i.z = ((PV1i.y == 0)?(R4i.y):(backupReg0i)); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R0i.z))); +R125i.x = ((PV1i.y == 0)?(R6i.x):(backupReg1i)); +PS0i = R125i.x; +// 3 +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; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R0i.y))); +R125i.w = ((R125i.y == 0)?(R5i.w):(R7i.z)); +R0i.w = floatBitsToInt(uf_blockPS8[37].x); +PS1i = R0i.w; +// 4 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(R2i.y))); +PV0i.x = R127i.x; +R123i.z = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV0i.z = R123i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(R7i.x))); +PV0i.w = R127i.w; +// 5 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) * 0.25); +PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) * 0.25); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(R2i.w))); +PV1i.z = R127i.z; +// 6 +R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3fb8aa3b)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3fb8aa3b)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) * 0.25); +// 7 +R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3fb8aa3b)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); +// 8 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); +PS0i = floatBitsToInt(exp2(intBitsToFloat(R126i.x))); +// 9 +R123i.x = ((R125i.y == 0)?(R127i.x):(PV0i.x)); +PV1i.x = R123i.x; +PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); +PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 4.0); +PS1i = floatBitsToInt(exp2(intBitsToFloat(R126i.z))); +// 10 +R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.z)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); +R123i.w = ((R125i.y == 0)?(R127i.w):(PV1i.w)); +PV0i.w = R123i.w; +// 11 +R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R125i.x)); +R123i.z = ((R125i.y == 0)?(R127i.z):(PV0i.z)); +PV1i.z = R123i.z; +// 12 +R0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R125i.w)); +} +// export +passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/rules.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/rules.txt new file mode 100644 index 00000000..641d76ea --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Ancient_Weapons/rules.txt @@ -0,0 +1,55 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Ancient weapons +path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Ancient weapons" +description = Change Ancient weapons 's color and brightness. Originally it varies. Ancient Orange's Brightness is changed to Bow's. +version = 3 + +[Preset] +name = Malice Red +$R = 0.85 +$G = 0.029 +$B = 0.15 +$L = 20.0 + +[Preset] +name = Guardian Yellow +$R = 1.0 +$G = 0.2 +$B = 0.059 +$L = 40.0 + +[Preset] +name = Guardian weapon Yellow +$R = 1.0 +$G = 0.2 +$B = 0.0 +$L = 29.576 + +[Preset] +name = Ancient Orange +$R = 1.0 +$G = 0.2 +$B = 0.0006 +$L = 11.525 + +[Preset] +name = Ancient weapon Orange +$R = 1.0 +$G = 0.15 +$B = 0.05 +$L = 20.0 + +[Preset] +name = Energy Blue +$R = 0.03 +$G = 0.25 +$B = 1.0 +$L = 40.0 + +[Preset] +name = Custom (Edit in rules.txt) +$R = 0.000 +$G = 0.000 +$B = 0.000 +$L = 40.0 # Brightness, can't scale because original unnormalized color use L=1 diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/85d00659937443d5_000003c3c3fc9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/85d00659937443d5_000003c3c3fc9249_ps.txt new file mode 100644 index 00000000..cbee41f8 --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/85d00659937443d5_000003c3c3fc9249_ps.txt @@ -0,0 +1,204 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Factor = $L_f; + +// Decayed Guardian + +// shader 85d00659937443d5 +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +layout(binding = 3) uniform sampler2D textureUnitPS3; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(binding = 6) uniform sampler2D textureUnitPS6; +layout(binding = 7) uniform sampler2D textureUnitPS7; +layout(binding = 8) uniform sampler2D textureUnitPS8; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem6; +layout(location = 3) in vec4 passParameterSem3; +layout(location = 4) in vec4 passParameterSem4; +layout(location = 5) in vec4 passParameterSem5; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 5) out vec4 passPixelColor5; +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 R123f = vec4(0.0); +vec4 R124f = 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; +R0f = passParameterSem0; +R1f = passParameterSem1; +R2f = passParameterSem6; +R3f = passParameterSem3; +R4f = passParameterSem4; +R5f = passParameterSem5; +R8f.xyz = (texture(textureUnitPS5, R0f.xy).xyz); +R7f.xyz = (texture(textureUnitPS6, R0f.xy).xyz); +R6f.xyz = (texture(textureUnitPS7, R0f.zw).xyz); +R1f.xyz = (texture(textureUnitPS8, R1f.xy).xyz); +R1f.w = (texture(textureUnitPS4, R0f.xy).x); +R0f.xyz = (texture(textureUnitPS3, R0f.xy).xyz); +// 0 +PV0f.x = mul_nonIEEE(R3f.y, R4f.z); +R126f.y = (R8f.x * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204)); +PV0f.y = R126f.y; +PV0f.z = mul_nonIEEE(R3f.z, R4f.x); +PV0f.w = mul_nonIEEE(R3f.x, R4f.y); +R127f.x = (R8f.y * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204)); +PS0f = R127f.x; +// 1 +R126f.x = (mul_nonIEEE(-(R4f.z),R3f.x) + PV0f.z); +R127f.y = (mul_nonIEEE(-(R4f.y),R3f.z) + PV0f.x); +PV1f.z = mul_nonIEEE(PV0f.y, PV0f.y); +R127f.w = (mul_nonIEEE(-(R4f.x),R3f.y) + PV0f.w); +R127f.z = mul_nonIEEE(R4f.w, PS0f); +PS1f = R127f.z; +// 2 +backupReg0f = R127f.x; +backupReg0f = R127f.x; +R127f.x = mul_nonIEEE(R6f.x, R1f.x); +R125f.y = mul_nonIEEE(R6f.y, R1f.y); +R126f.z = mul_nonIEEE(R6f.z, R1f.z); +R123f.w = (mul_nonIEEE(backupReg0f,backupReg0f) + PV1f.z); +R123f.w = clamp(R123f.w, 0.0, 1.0); +PV0f.w = R123f.w; +R124f.z = mul_nonIEEE(Color.g, R7f.y); +PS0f = R124f.z; +// 3 +backupReg0f = R127f.y; +R125f.x = mul_nonIEEE(Color.b, R7f.z); +R127f.y = -(PV0f.w) + 1.0; +PV1f.z = mul_nonIEEE(backupReg0f, R127f.z); +R125f.w = mul_nonIEEE(Color.r, R7f.x); +PS1f = mul_nonIEEE(R126f.x, R127f.z); +// 4 +PV0f.x = mul_nonIEEE(R127f.w, R127f.z); +R123f.y = (mul_nonIEEE(-(R2f.z),intBitsToFloat(uf_remappedPS[1].z)) + -(intBitsToFloat(uf_remappedPS[1].y))); +R123f.y = clamp(R123f.y, 0.0, 1.0); +PV0f.y = R123f.y; +R127f.z = (mul_nonIEEE(R4f.x,R126f.y) + PV1f.z)/2.0; +R127f.w = (mul_nonIEEE(R4f.y,R126f.y) + PS1f)/2.0; +R124f.y = mul_nonIEEE(R127f.x, intBitsToFloat(uf_remappedPS[1].x) * Factor); +PS0f = R124f.y; +// 5 +backupReg0f = R127f.y; +R126f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), PV0f.y); +R127f.y = (mul_nonIEEE(R4f.z,R126f.y) + PV0f.x)/2.0; +R125f.z = mul_nonIEEE(Color.g, R124f.z); +R126f.w = mul_nonIEEE(Color.r, R125f.w); +R127f.x = sqrt(backupReg0f); +R127f.x /= 2.0; +PS1f = R127f.x; +// 6 +backupReg0f = R126f.z; +R124f.x = mul_nonIEEE(R125f.y, intBitsToFloat(uf_remappedPS[1].x) * Factor); +R125f.y = mul_nonIEEE(Color.b, R125f.x); +R126f.z = intBitsToFloat(0x427f0000) * R1f.w; +R124f.w = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[1].x) * Factor); +R126f.y = intBitsToFloat(0x427f0000) * R8f.z; +PS0f = R126f.y; +// 7 +backupReg0f = R127f.x; +backupReg0f = R127f.x; +backupReg1f = R3f.y; +backupReg0f = R127f.x; +R127f.x = (mul_nonIEEE(R3f.x,backupReg0f) + R127f.z); +R3f.y = (mul_nonIEEE(R3f.z,backupReg0f) + R127f.y); +R127f.z = (mul_nonIEEE(backupReg1f,backupReg0f) + R127f.w); +R127f.w = mul_nonIEEE(R126f.x, R126f.w); +R127f.y = mul_nonIEEE(R126f.x, R125f.z); +PS1f = R127f.y; +// 8 +backupReg0f = R126f.x; +backupReg1f = R124f.z; +R126f.x = mul_nonIEEE(backupReg0f, R125f.y); +R125f.y = mul_nonIEEE(R125f.x, R124f.w); +R124f.z = mul_nonIEEE(backupReg1f, R124f.x); +PV0f.w = mul_nonIEEE(R125f.w, R124f.y); +R125f.w = intBitsToFloat(0x3c808081); +PS0f = R125f.w; +// 9 +backupReg0f = R126f.y; +R125f.x = floor(R126f.z); +R125f.x *= 4.0; +R126f.y = floor(backupReg0f); +R126f.y *= 4.0; +R126f.z = intBitsToFloat(uf_remappedPS[2].z); +R4f.w = 1.0; +R1f.x = (mul_nonIEEE(R127f.w,R124f.y) + PV0f.w); +PS1f = R1f.x; +// 10 +R4f.x = R125f.w; +R1f.y = (mul_nonIEEE(R127f.y,R124f.x) + R124f.z); +R1f.z = (mul_nonIEEE(R126f.x,R124f.w) + R125f.y); +R1f.w = 1.0; +R8f.y = mul_nonIEEE(R5f.x, R0f.y); +PS0f = R8f.y; +// 11 +R8f.x = mul_nonIEEE(R5f.x, R0f.x); +R4f.y = R126f.z; +R8f.z = mul_nonIEEE(R5f.x, R0f.z); +R0f.w = (R126f.y * intBitsToFloat(0x3b808081) + intBitsToFloat(0x3b808081)); +R0f.x = R127f.x + 0.5; +PS1f = R0f.x; +// 12 +R0f.y = R127f.z + 0.5; +R0f.z = R3f.y + 0.5; +R8f.w = (R125f.x * intBitsToFloat(0x3b808081) + intBitsToFloat(0x3b808081)); +// 13 +R12f.xyz = vec3(R1f.x,R1f.y,R1f.z); +R12f.w = R1f.w; +// 14 +R11f.xyz = vec3(R0f.x,R0f.y,R0f.z); +R11f.w = R0f.w; +// 15 +R10f.xyz = vec3(R8f.x,R8f.y,R8f.z); +R10f.w = R8f.w; +// 16 +R9f.xyz = vec3(R4f.x,R4f.y,R4f.z); +R9f.w = R4f.w; +// export +passPixelColor0 = vec4(R9f.x, R9f.y, R9f.z, R9f.w); +passPixelColor1 = vec4(R10f.x, R10f.y, R10f.z, R10f.w); +passPixelColor3 = vec4(R11f.x, R11f.y, R11f.z, R11f.w); +passPixelColor5 = vec4(R12f.x, R12f.y, R12f.z, R12f.w); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/rules.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/rules.txt new file mode 100644 index 00000000..82ec4f6c --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Decayed_Guardian/rules.txt @@ -0,0 +1,55 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Decayed Guardian +path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Decayed Guardian" +description = Change Decayed Guardian (including Stalkers with weathered appearance)'s color. Originally it's Malice Red. +version = 3 + +[Preset] +name = Malice Red +$R = 0.85 +$G = 0.029 +$B = 0.15 +$L_f = 1.0 + +[Preset] +name = Guardian Yellow +$R = 1.0 +$G = 0.2 +$B = 0.059 +$L_f = 1.0 + +[Preset] +name = Guardian weapon Yellow +$R = 1.0 +$G = 0.2 +$B = 0.0 +$L_f = 1.0 + +[Preset] +name = Ancient Orange +$R = 1.0 +$G = 0.2 +$B = 0.0006 +$L_f = 1.0 + +[Preset] +name = Ancient weapon Orange +$R = 1.0 +$G = 0.15 +$B = 0.05 +$L_f = 1.0 + +[Preset] +name = Energy Blue +$R = 0.03 +$G = 0.25 +$B = 1.0 +$L_f = 1.0 + +[Preset] +name = Custom (Edit in rules.txt) +$R = 0.000 +$G = 0.000 +$B = 0.000 +$L_f = 1.0 diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/4e0bab929e11836f_00003cd249549249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/4e0bab929e11836f_00003cd249549249_ps.txt new file mode 100644 index 00000000..b12964d7 --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/4e0bab929e11836f_00003cd249549249_ps.txt @@ -0,0 +1,1090 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Factor = $L_f; + +// Guardian weapons when Link is transparent +// uf_blockPS8[23].xyz uf_blockPS8[31].x + +// shader 4e0bab929e11836f +uniform vec2 uf_fragCoordScale; +layout(binding = 33, std140) +uniform uniformBlockPS1 +{ +vec4 uf_blockPS1[1024]; +}; + + +layout(binding = 36, std140) +uniform uniformBlockPS4 +{ +vec4 uf_blockPS4[1024]; +}; + + +layout(binding = 38, std140) +uniform uniformBlockPS6 +{ +vec4 uf_blockPS6[1024]; +}; + + +layout(binding = 40, std140) +uniform uniformBlockPS8 +{ +vec4 uf_blockPS8[1024]; +}; + + +layout(binding = 42, std140) +uniform uniformBlockPS10 +{ +vec4 uf_blockPS10[1024]; +}; + + +layout(binding = 0) uniform sampler2D textureUnitPS0; +layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1; +layout(binding = 2) uniform sampler2D textureUnitPS2; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(binding = 6) uniform sampler2D textureUnitPS6; +layout(binding = 7) uniform sampler3D textureUnitPS7; +layout(binding = 8) uniform sampler2DArray textureUnitPS8; +layout(binding = 9) uniform sampler2D textureUnitPS9; +layout(binding = 10) uniform sampler2D textureUnitPS10; +layout(binding = 11) uniform sampler2D textureUnitPS11; +layout(binding = 12) uniform sampler2D textureUnitPS12; +layout(binding = 13) uniform sampler2D textureUnitPS13; +layout(binding = 14) uniform sampler2D textureUnitPS14; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem2; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem5; +layout(location = 5) in vec4 passParameterSem7; +layout(location = 6) in vec4 passParameterSem8; +layout(location = 7) in vec4 passParameterSem9; +layout(location = 0) out vec4 passPixelColor0; +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 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; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem1); +R2i = floatBitsToInt(passParameterSem2); +R3i = floatBitsToInt(passParameterSem4); +R4i = floatBitsToInt(passParameterSem5); +R5i = floatBitsToInt(passParameterSem7); +R6i = floatBitsToInt(passParameterSem8); +R7i = floatBitsToInt(passParameterSem9); +if( activeMaskStackC[1] == true ) { +R8i.xy = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R0i.xy)).xy); +R10i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R0i.xy)).xyz); +R9i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R0i.zw)).xyz); +R1i.xyz = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); +R6i.w = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R0i.xy)).x); +R15i.xyz = floatBitsToInt(texture(textureUnitPS9, intBitsToFloat(R0i.xy)).xyz); +} +if( activeMaskStackC[1] == true ) { +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R4i.z))); +R127i.y = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV0i.y = R127i.y; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R4i.x))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R4i.y))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R7i.w)); +// 1 +backupReg0i = R7i.x; +backupReg1i = R7i.y; +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); +R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i))); +R123i.z = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); +R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.y)),intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.x))); +PS1i = R126i.w; +// 2 +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.z)),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.w))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.x)),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.w))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PV1i.z))); +R1i.w = floatBitsToInt(fract(intBitsToFloat(R6i.x))); +PS0i = R1i.w; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); +PS1i = R126i.y; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.w))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.w))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R127i.w))); +R3i.w = floatBitsToInt(fract(intBitsToFloat(R6i.y))); +R7i.w = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +PS0i = R7i.w; +// 5 +backupReg0i = R4i.y; +R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.x))); +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), uf_blockPS6[44].x)); +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.y))); +R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.z))); +R4i.x = floatBitsToInt(sqrt(intBitsToFloat(R126i.y))); +PS1i = R4i.x; +} +if( activeMaskStackC[1] == true ) { +R14i.xy = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R7i.xy)).xy); +} +if( activeMaskStackC[1] == true ) { +// 0 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R4i.w))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R4i.z))); +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(R4i.x)) + intBitsToFloat(R6i.x))); +R127i.w = floatBitsToInt(intBitsToFloat(R1i.w) + -(0.5)); +R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R7i.w)); +PS0i = R126i.w; +// 1 +R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS0i))); +R16i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS0i))); +PV1i.y = R16i.y; +R127i.z = floatBitsToInt(intBitsToFloat(R3i.w) + -(0.5)); +R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R1i.x))); +R6i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].x, uf_blockPS10[2].w)); +PS1i = R6i.x; +// 2 +backupReg0i = R1i.z; +backupReg1i = R127i.w; +backupReg1i = R127i.w; +R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R1i.y))); +R12i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].y, uf_blockPS10[2].w)); +R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(backupReg0i))); +R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); +R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg1i)),intBitsToFloat(backupReg1i)) + 1.0)); +R127i.w = clampFI32(R127i.w); +PS0i = R127i.w; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R11i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].z, uf_blockPS10[2].w)); +PS1i = R11i.z; +// 4 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R12i.y)),intBitsToFloat(R12i.y)) + 1.0)); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R127i.z)) + 1.0)); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.w))); +R1i.w = floatBitsToInt(-(intBitsToFloat(R5i.z)) * intBitsToFloat(0x3d4ccccd)); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +R126i.x = floatBitsToInt(tempResultf); +PS0i = R126i.x; +// 5 +R3i.x = R6i.x; +R1i.y = R11i.z; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.y))); +R7i.w = 0x3f800000; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +R127i.z = floatBitsToInt(tempResultf); +PS1i = R127i.z; +// 6 +R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R126i.x))); +R13i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R126i.x))); +R3i.z = 0; +PV0i.z = R3i.z; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); +tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.w)); +PS0i = floatBitsToInt(tempResultf); +// 7 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(PV0i.z))); +R14i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(backupReg0i))); +PV1i.z = R14i.z; +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.w))); +R16i.z = R14i.x; +R16i.z = clampFI32(R16i.z); +PS1i = R16i.z; +// 8 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R13i.z),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R1i.y),1.0,0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(PV1i.z))); +// 9 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R16i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R13i.y),1.0,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.x))); +PS1i = R6i.w; +// 10 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R16i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R6i.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; +R12i.z = tempi.x; +R17i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); +R17i.y = clampFI32(R17i.y); +PS0i = R17i.y; +} +if( activeMaskStackC[1] == true ) { +// 0 +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),uf_blockPS6[44].y) + intBitsToFloat(R4i.y))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), uf_blockPS6[43].x)); +// 1 +R127i.x = floatBitsToInt(mul_nonIEEE(Color.x, intBitsToFloat(R10i.x))); +R126i.z = floatBitsToInt(mul_nonIEEE(Color.y, intBitsToFloat(R10i.y))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), uf_blockPS6[45].x)); +// 2 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),uf_blockPS6[43].y) + intBitsToFloat(R127i.z))); +R126i.w = floatBitsToInt(mul_nonIEEE(Color.z, intBitsToFloat(R10i.z))); +// 3 +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[31].x * Factor)); +PV1i.x = R124i.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS8[31].x * Factor)); +PV1i.y = R125i.y; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS8[31].x * Factor)); +PV1i.z = R125i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),uf_blockPS8[31].z) + -(uf_blockPS8[31].y))); +R127i.w = clampFI32(R127i.w); +// 4 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS6[44].z) + intBitsToFloat(backupReg0i))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),uf_blockPS6[45].y) + intBitsToFloat(R125i.w))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.x))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV1i.y))); +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.z))); +PS0i = R124i.w; +// 5 +PV1i.x = floatBitsToInt(mul_nonIEEE(Color.x, intBitsToFloat(R127i.x))); +R126i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS8[31].w, intBitsToFloat(R127i.w))); +PV1i.y = R126i.y; +PV1i.z = floatBitsToInt(mul_nonIEEE(Color.y, intBitsToFloat(R126i.z))); +// 6 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.z))); +R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS6[43].z) + intBitsToFloat(R125i.x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); +PV0i.w = floatBitsToInt(mul_nonIEEE(Color.z, intBitsToFloat(R126i.w))); +// 7 +R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(R127i.z))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); +R10i.z = floatBitsToInt(uf_blockPS6[44].w + intBitsToFloat(R126i.x)); +PV1i.z = R10i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS6[45].z) + intBitsToFloat(R127i.y))); +PV1i.w = R123i.w; +R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(R125i.w))); +PS1i = R8i.y; +// 8 +R12i.x = floatBitsToInt(uf_blockPS6[43].w + intBitsToFloat(R124i.y)); +R9i.y = PV1i.z; +R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R125i.z)) + intBitsToFloat(R124i.w))); +R6i.z = floatBitsToInt(uf_blockPS6[45].w + intBitsToFloat(PV1i.w)); +PS0i = R6i.z; +// 9 +backupReg0i = R1i.w; +R1i.x = floatBitsToInt(fract(uf_blockPS8[36].w)); +R17i.z = floatBitsToInt((-(uf_blockPS6[53].z) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(R1i.w))); +R17i.z = clampFI32(R17i.z); +R1i.w = floatBitsToInt((-(uf_blockPS6[53].w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(backupReg0i))); +R1i.w = clampFI32(R1i.w); +} +if( activeMaskStackC[1] == true ) { +// 0 +R10i.x = floatBitsToInt(uf_blockPS1[0].y); +PV0i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R5i.z)), uf_blockPS1[17].y)); +// 1 +R10i.y = floatBitsToInt(uf_blockPS1[1].y); +R9i.z = floatBitsToInt(uf_blockPS1[2].y); +R11i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); +PS1i = R11i.y; +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R8i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS4[6].x, uf_blockPS8[37].x)); +// 1 +predResult = (intBitsToFloat(R1i.x) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.z = floatBitsToInt(floor(uf_blockPS8[36].w)); +PV0i.z = R0i.z; +// 1 +R0i.z = floatBitsToInt(roundEven(intBitsToFloat(PV0i.z))); +} +if( activeMaskStackC[2] == true ) { +R0i.xyz = floatBitsToInt(texture(textureUnitPS8, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).xyz); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(-(intBitsToFloat(R15i.y)) + intBitsToFloat(R0i.y)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R15i.x)) + intBitsToFloat(backupReg0i)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R15i.z)) + intBitsToFloat(R0i.z)); +// 1 +backupReg0i = R15i.x; +backupReg1i = R15i.y; +backupReg2i = R15i.z; +R15i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(backupReg0i))); +R15i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(backupReg1i))); +R15i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.x)) + intBitsToFloat(backupReg2i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (uf_blockPS8[33].w > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.z = 0; +} +if( activeMaskStackC[2] == true ) { +R0i.z = floatBitsToInt(texture(textureUnitPS7, vec3(intBitsToFloat(R0i.z),intBitsToFloat(R0i.z),intBitsToFloat(R0i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(intBitsToFloat(R15i.z) * intBitsToFloat(0x3dea4a8c)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R0i.z)) + 1.0); +tempResultf = max(0.0, intBitsToFloat(R17i.y)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R126i.z = floatBitsToInt(tempResultf); +PS0i = R126i.z; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(0x3e99096c),intBitsToFloat(0x3f162b6b),1.0,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.z = tempi.x; +tempResultf = max(0.0, intBitsToFloat(PV0i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 2 +R127i.x = floatBitsToInt((0.5 * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3dcccccd))); +PV0i.x = R127i.x; +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3fa66666)); +R125i.z = floatBitsToInt((intBitsToFloat(0x3f19999a) * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3e4ccccd))); +// 3 +backupReg0i = R127i.z; +PV1i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x40200000)); +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3e23d70a)); +R127i.w = floatBitsToInt((intBitsToFloat(0x3f266666) * intBitsToFloat(backupReg0i) + intBitsToFloat(0x3eb33333))); +PV1i.w = R127i.w; +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 0.25); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(0x3e851eb8)); +PV0i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3e4ccccd)); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); +PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); +// 5 +PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.w)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R125i.z))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.x))); +PV1i.w = R123i.w; +R9i.w = 0x3e99999a; +PS1i = R9i.w; +// 6 +R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); +R127i.y = clampFI32(R127i.y); +PV0i.y = R127i.y; +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); +PV0i.z = clampFI32(PV0i.z); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)); +PV0i.w = clampFI32(PV0i.w); +// 7 +PV1i.x = floatBitsToInt(-(intBitsToFloat(R15i.x)) + intBitsToFloat(PV0i.w)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.x)) + intBitsToFloat(PV0i.w)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R15i.z)) + intBitsToFloat(PV0i.y)); +PV1i.w = floatBitsToInt(-(intBitsToFloat(R15i.y)) + intBitsToFloat(PV0i.z)); +R127i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.z)); +PS1i = R127i.x; +// 8 +backupReg0i = R15i.x; +backupReg1i = R15i.y; +backupReg2i = R15i.z; +backupReg3i = R8i.x; +R15i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),uf_blockPS8[33].w) + intBitsToFloat(backupReg0i))); +R15i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),uf_blockPS8[33].w) + intBitsToFloat(backupReg1i))); +R15i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),uf_blockPS8[33].w) + intBitsToFloat(backupReg2i))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R127i.y)); +R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),uf_blockPS8[33].w) + intBitsToFloat(backupReg3i))); +PS0i = R8i.x; +// 9 +backupReg0i = R8i.y; +backupReg1i = R8i.z; +R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),uf_blockPS8[33].w) + intBitsToFloat(backupReg0i))); +R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),uf_blockPS8[33].w) + intBitsToFloat(backupReg1i))); +// 10 +R5i.w = R7i.w; +// 11 +R0i.w = R7i.w; +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +R9i.w = 0; +PV0i.w = R9i.w; +// 1 +R0i.w = PV0i.w; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +PV0i.x = floatBitsToInt(uf_blockPS10[2].z + 1.0); +// 1 +R18i.y = floatBitsToInt(-(intBitsToFloat(R1i.w)) + intBitsToFloat(PV0i.x)); +R18i.y = clampFI32(R18i.y); +// 2 +predResult = (1.0 > intBitsToFloat(R17i.z)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R127i.x = ((-(intBitsToFloat(R5i.z)) > uf_blockPS1[58].y)?int(0xFFFFFFFF):int(0x0)); +R6i.y = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(0x3ac49ba6))); +PV0i.w = ((-(intBitsToFloat(R5i.z)) > uf_blockPS1[58].x)?int(0xFFFFFFFF):int(0x0)); +// 1 +PV1i.y = PV0i.w & int(1); +// 2 +PV0i.z = PV1i.y - R127i.x; +// 3 +PV1i.w = PV0i.z << 0x00000002; +PS1i = floatBitsToInt(float(PV0i.z)); +// 4 +R0i.x = PV1i.w + 0x0000002c; +R0i.y = PV1i.w + 0x0000002a; +R0i.z = PV1i.w + 0x0000002b; +R0i.w = PV1i.w + 0x0000002d; +R7i.z = floatBitsToInt(roundEven(intBitsToFloat(PS1i))); +PS0i = R7i.z; +} +if( activeMaskStackC[2] == true ) { +R1i.xyzw = floatBitsToInt(uf_blockPS1[R0i.w].xyzw); +R3i.xyzw = floatBitsToInt(uf_blockPS1[R0i.x].xyzw); +R4i.xyzw = floatBitsToInt(uf_blockPS1[R0i.y].xyzw); +R0i.xyzw = floatBitsToInt(uf_blockPS1[R0i.z].xyzw); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R3i.x))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R1i.x))); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(PV0i.x))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R4i.x))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R0i.x))); +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R1i.z)) + intBitsToFloat(PV1i.z))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R3i.z)) + intBitsToFloat(PV1i.x))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(PV1i.y))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(PV1i.w))); +PV0i.w = R123i.w; +// 3 +R127i.x = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(PV0i.y)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R4i.z)) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R0i.z)) + intBitsToFloat(PV0i.w))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV1i.z)); +PV0i.w = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV1i.y)); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); +// 5 +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); +PS1i = R7i.y; +// 6 +R127i.w = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PV1i.y)); +PV0i.w = R127i.w; +// 7 +PV1i.x = ((intBitsToFloat(0x3727c5ac) > intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); +// 8 +R123i.y = ((PV1i.x == 0)?(R127i.w):(0x3727c5ac)); +PV0i.y = R123i.y; +// 9 +R7i.w = PV0i.y; +R7i.w = clampFI32(R7i.w); +} +if( activeMaskStackC[2] == true ) { +R7i.y = floatBitsToInt(texture(textureUnitPS1, vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + 1.0); +// 1 +R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R17i.z)) + intBitsToFloat(R7i.y))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R0i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(0x38d1b717) + 0.5)); +R0i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3903126f) + 0.5)); +R7i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) * intBitsToFloat(0x3ba3d70a)); +PV0i.z = R7i.z; +R0i.w = 0x3f800000; +PV0i.w = R0i.w; +R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),uf_blockPS6[26].x) + -(uf_blockPS6[26].y))); +R127i.y = clampFI32(R127i.y); +PS0i = R127i.y; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS1[37].x,uf_blockPS1[37].y,uf_blockPS1[37].z,uf_blockPS1[37].w))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R1i.w = PV0i.z; +PS1i = R1i.w; +// 2 +backupReg0i = R0i.w; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockPS1[35].x,uf_blockPS1[35].y,uf_blockPS1[35].z,uf_blockPS1[35].w))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); +PS0i = R127i.w; +// 3 +backupReg0i = R0i.w; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockPS1[36].x,uf_blockPS1[36].y,uf_blockPS1[36].z,uf_blockPS1[36].w))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); +PS1i = R1i.x; +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.y)) + 1.0); +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); +R0i.z = floatBitsToInt(intBitsToFloat(R12i.x) * intBitsToFloat(0x3a83126f)); +R0i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(0x3a83126f)); +PS0i = floatBitsToInt(intBitsToFloat(R12i.z) + -(intBitsToFloat(R6i.w))); +// 5 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.w))); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt(-(uf_blockPS6[27].w) + 1.0); +R1i.z = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0xbe99999a) + -(intBitsToFloat(R6i.x)))); +R3i.w = floatBitsToInt((intBitsToFloat(R16i.y) * intBitsToFloat(0xbe99999a) + -(intBitsToFloat(R12i.y)))); +tempResultf = max(0.0, intBitsToFloat(PV0i.x)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R127i.w = floatBitsToInt(tempResultf); +PS1i = R127i.w; +// 6 +R6i.x = floatBitsToInt((intBitsToFloat(R13i.z) * intBitsToFloat(0xbe99999a) + -(intBitsToFloat(R11i.z)))); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),uf_blockPS6[28].x) + -(uf_blockPS6[28].y))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS6[27].y, intBitsToFloat(PS1i))); +PV0i.w = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), intBitsToFloat(0xbf7d70a4))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); +tempResultf = max(0.0, intBitsToFloat(R17i.y)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 7 +R127i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + 0.5); +PV1i.x = R127i.x; +R126i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3ecccccd)); +R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); +PV1i.w = R11i.y; +PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); +// 8 +R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS1i)) + uf_blockPS6[27].w)/2.0); +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(max(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); +R127i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3f99999a)); +R127i.z = clampFI32(R127i.z); +PS0i = R127i.z; +// 9 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(R5i.w))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(0xbe593484))); +PV1i.y = R123i.y; +R3i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + 0.5); +R6i.w = floatBitsToInt(max(intBitsToFloat(R15i.x), intBitsToFloat(PV0i.w))); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y))); +// 10 +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.x))); +R7i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[27].x, intBitsToFloat(R127i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(0x3fc90da4))); +PV0i.w = R123i.w; +R5i.w = floatBitsToInt(exp2(intBitsToFloat(R126i.y))); +PS0i = R5i.w; +// 11 +R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),-(intBitsToFloat(PV0i.w))) + 1.0)); +R6i.y = floatBitsToInt(min(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); +R6i.z = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(0x2edbe6ff)); +R4i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(0xbe99999a)); +tempResultf = max(0.0, intBitsToFloat(R126i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R3i.y = floatBitsToInt(tempResultf); +PS1i = R3i.y; +} +if( activeMaskStackC[1] == true ) { +R4i.xyz = floatBitsToInt(textureLod(textureUnitPS6, intBitsToFloat(R0i.xy),0.0).xyz); +R1i.x = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R1i.xy),intBitsToFloat(R1i.w)).x); +R0i.w = floatBitsToInt(textureLod(textureUnitPS4, intBitsToFloat(R0i.zw),0.0).x); +R0i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R3i.xz)).xyz); +} +if( activeMaskStackC[1] == true ) { +// 0 +backupReg0i = R0i.w; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(uf_blockPS6[42].x,uf_blockPS6[42].y,uf_blockPS6[42].z,0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); +PS0i = R127i.x; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.z),intBitsToFloat(R3i.w),intBitsToFloat(R6i.x),-0.0),vec4(intBitsToFloat(R1i.z),intBitsToFloat(R3i.w),intBitsToFloat(R6i.x),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +// 2 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PS1i))); +PV0i.x = R127i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[29].x, intBitsToFloat(R3i.y))); +PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) + uf_blockPS10[1].z); +PV0i.z = clampFI32(PV0i.z); +R0i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x41c80000) + intBitsToFloat(R10i.z))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 3 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(intBitsToFloat(R7i.w) + -(intBitsToFloat(PV0i.x))); +R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[3].z, intBitsToFloat(PV0i.z))); +PS1i = R127i.z; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R13i.y),intBitsToFloat(R14i.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; +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R18i.y)) + intBitsToFloat(R127i.x))); +PS0i = R126i.z; +// 5 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R16i.y),intBitsToFloat(R13i.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 = max(0.0, intBitsToFloat(PV0i.x)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 6 +R127i.x = floatBitsToInt(min(intBitsToFloat(R15i.x), intBitsToFloat(R6i.y))); +R125i.y = R2i.w; +R125i.y = clampFI32(R125i.y); +PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x41400000)); +PV0i.w = floatBitsToInt(intBitsToFloat(R126i.z) + uf_blockPS10[1].y); +PV0i.w = clampFI32(PV0i.w); +tempResultf = max(0.0, intBitsToFloat(PV1i.x)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 7 +R125i.x = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(0x40200001)); +R125i.x = clampFI32(R125i.x); +PV1i.x = R125i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[29].z, intBitsToFloat(PS0i))); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(0xbecccccd)); +R4i.w = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R14i.y) + 1.0)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); +PS1i = clampFI32(PS1i); +// 8 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x41200000)); +PV0i.x = clampFI32(PV0i.x); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PS1i))); +R126i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); +R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),uf_blockPS6[18].x) + uf_blockPS6[17].w)); +R126i.w = clampFI32(R126i.w); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); +// 9 +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.x))); +PV1i.x = R124i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(-(uf_blockPS6[29].w),intBitsToFloat(PS0i)) + 1.0)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R7i.x)) + intBitsToFloat(0xbd4ccccd))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R7i.x)) + intBitsToFloat(0xbc23d70a))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(exp2(intBitsToFloat(R7i.y))); +// 10 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x41a00000)); +PV0i.x = clampFI32(PV0i.x); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); +R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[27].z,-(intBitsToFloat(PS1i))) + uf_blockPS6[27].z)); +R127i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x42480000)); +R127i.w = clampFI32(R127i.w); +PS0i = floatBitsToInt(exp2(intBitsToFloat(R126i.y))); +// 11 +R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R125i.y)) + 1.0)); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.y))); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3df5c28f)); +R125i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(0xbfe66666)); +R124i.w = floatBitsToInt(1.0 / intBitsToFloat(R6i.z)); +PS1i = R124i.w; +// 12 +backupReg0i = R127i.x; +backupReg1i = R127i.z; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS6[30].w)); +R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(PV1i.z))); +R127i.y = clampFI32(R127i.y); +R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PS1i)) + 1.0)); +PV0i.z = R127i.z; +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R4i.w))); +tempResultf = max(0.0, intBitsToFloat(R6i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 13 +R126i.x = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3dcccccd) + 1.0)); +R125i.y = floatBitsToInt((-(intBitsToFloat(PV0i.z)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); +PV1i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f19999a)); +PV1i.w = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(0x3da3d70a)); +PV1i.w = clampFI32(PV1i.w); +tempResultf = max(0.0, intBitsToFloat(R126i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 14 +backupReg0i = R127i.x; +backupReg1i = R125i.w; +backupReg1i = R125i.w; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.y))); +R127i.x = clampFI32(R127i.x); +PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[18].y, intBitsToFloat(PS1i))); +R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); +R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(backupReg1i)) + intBitsToFloat(backupReg1i))); +R125i.w = clampFI32(R125i.w); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); +// 15 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PS0i)) + intBitsToFloat(PS0i))); +R125i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + 1.0); +R6i.z = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x3f4ccccd)); +R3i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x42960000)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 16 +PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(0x2edbe6ff)); +R5i.y = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3f4ccccd)); +R7i.z = floatBitsToInt(intBitsToFloat(R2i.y) * intBitsToFloat(0x3f4ccccd)); +R126i.w = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(R125i.w))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS6[16].w)); +PS0i = R125i.w; +// 17 +R4i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.z)),intBitsToFloat(R125i.y)) + intBitsToFloat(R125i.y))); +R7i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R124i.x)); +R7i.y = clampFI32(R7i.y); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R127i.x)) + intBitsToFloat(R127i.z))); +R123i.z = clampFI32(R123i.z); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(R6i.w))); +R123i.w = clampFI32(R123i.w); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +// 18 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(PV1i.w))); +R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(R125i.w))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0); +// 19 +R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R16i.z)) + intBitsToFloat(R126i.w))); +PV1i.x = R7i.x; +PV1i.y = floatBitsToInt(intBitsToFloat(R15i.z) + -(intBitsToFloat(R6i.w))); +PV1i.z = floatBitsToInt(intBitsToFloat(R15i.y) + -(intBitsToFloat(R6i.w))); +PV1i.w = floatBitsToInt(intBitsToFloat(R15i.x) + -(intBitsToFloat(R6i.w))); +R6i.x = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(PV0i.y)); +PS1i = R6i.x; +// 20 +backupReg0i = R6i.w; +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(R6i.w))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV1i.x))); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(R6i.w))); +R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(PV1i.x))); +PS0i = R4i.z; +} +if( activeMaskStackC[1] == true ) { +// 0 +backupReg0i = R0i.z; +tempi.x = floatBitsToInt(dot(vec4(uf_blockPS6[4].x,uf_blockPS6[4].y,uf_blockPS6[4].z,-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R13i.y),intBitsToFloat(R14i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.x))); +PS0i = R125i.y; +// 1 +PV1i.x = floatBitsToInt(uf_blockPS6[5].x + -(intBitsToFloat(R6i.z))); +PV1i.y = floatBitsToInt(uf_blockPS6[5].y + -(intBitsToFloat(R7i.z))); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + uf_blockPS6[52].x); +PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),-(intBitsToFloat(R3i.z))) + intBitsToFloat(R5i.w))); +PS1i = R127i.z; +// 2 +backupReg0i = R5i.x; +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R7i.y)) + intBitsToFloat(R6i.z))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),uf_blockPS6[15].x) + uf_blockPS6[14].w)); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); +R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R7i.z))); +R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(0xba0a8ec8))); +R5i.w = clampFI32(R5i.w); +PS0i = R5i.w; +// 3 +backupReg0i = R6i.w; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS6[13].w)); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); +PV1i.z = floatBitsToInt(uf_blockPS6[5].z + -(intBitsToFloat(R5i.y))); +R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(0xba0a8ec8))); +R6i.w = clampFI32(R6i.w); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R5i.z)) + intBitsToFloat(0xba0a8ec8))); +R0i.y = clampFI32(R0i.y); +PS1i = R0i.y; +// 4 +R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R7i.y)) + intBitsToFloat(R5i.y))); +R3i.y = ((1.0 > intBitsToFloat(R8i.w))?int(0xFFFFFFFF):int(0x0)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R3i.w))); +PV0i.w = clampFI32(PV0i.w); +// 5 +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R4i.x))); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.w))); +R5i.z = clampFI32(R5i.z); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R4i.x)) + intBitsToFloat(R4i.x))); +PV1i.w = R123i.w; +// 6 +PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].x, intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].z, intBitsToFloat(PV1i.y))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].y, intBitsToFloat(PV1i.y))); +R5i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); +PS0i = R5i.y; +// 7 +R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].y,intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.w))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].x,intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); +PV1i.z = R126i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].z,intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); +PV1i.w = R123i.w; +// 8 +backupReg0i = R127i.z; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.x))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.y))); +PV0i.y = R123i.y; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV1i.z))); +PV0i.z = R127i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); +PV0i.w = R123i.w; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV1i.z))); +PS0i = R127i.x; +// 9 +backupReg0i = R3i.z; +R1i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].z,intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.w))); +R6i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].y,intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.x))); +R3i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R126i.z))); +PV1i.w = R126i.w; +PS1i = floatBitsToInt(-(intBitsToFloat(PV0i.z)) * intBitsToFloat(0x3fb8aa3b)); +// 10 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) * intBitsToFloat(0x3fb8aa3b)); +R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) * intBitsToFloat(0x3fb8aa3b)); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); +// 11 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); +// 12 +R7i.y = ((R3i.y == 0)?(R127i.z):(PV1i.x)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PS0i = floatBitsToInt(exp2(intBitsToFloat(R126i.z))); +// 13 +R4i.x = ((R3i.y == 0)?(R127i.x):(PV0i.w)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); +// 14 +R3i.w = ((R3i.y == 0)?(R126i.w):(PV1i.z)); +} +if( activeMaskStackC[1] == true ) { +// 0 +R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].w, intBitsToFloat(R5i.z))); +PV0i.x = R127i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), uf_blockPS10[0].x)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), uf_blockPS10[0].y)); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.x))); +PV1i.x = R123i.x; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), uf_blockPS10[0].z)); +// 2 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.w))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(R2i.z))); +PV0i.y = R123i.y; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R6i.w))); +// 3 +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; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R0i.y))); +// 4 +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(R3i.z))); +PV0i.x = R126i.x; +R123i.z = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV0i.z = R123i.z; +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(R6i.y))); +PV0i.w = R126i.w; +// 5 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) * 0.25); +PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) * 0.25); +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.x))); +PV1i.z = R126i.z; +// 6 +R127i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3fb8aa3b)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3fb8aa3b)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) * 0.25); +// 7 +R127i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3fb8aa3b)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); +// 8 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); +PS0i = floatBitsToInt(exp2(intBitsToFloat(R127i.x))); +// 9 +R123i.x = ((R3i.y == 0)?(R126i.x):(PV0i.x)); +PV1i.x = R123i.x; +PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); +PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 4.0); +PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.z))); +// 10 +R8i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R7i.y)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); +R123i.w = ((R3i.y == 0)?(R126i.w):(PV1i.w)); +PV0i.w = R123i.w; +// 11 +R8i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R4i.x)); +R123i.z = ((R3i.y == 0)?(R126i.z):(PV0i.z)); +PV1i.z = R123i.z; +// 12 +R8i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R3i.w)); +} +// export +passPixelColor0 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.w)); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/83573681c1fcb0ac_0000f0f0ff549249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/83573681c1fcb0ac_0000f0f0ff549249_ps.txt new file mode 100644 index 00000000..48f83b44 --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/83573681c1fcb0ac_0000f0f0ff549249_ps.txt @@ -0,0 +1,978 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Factor = $L_f; + +// Guardian weapons when teleporting + +// shader 83573681c1fcb0ac +uniform ivec4 uf_remappedPS[10]; +uniform vec2 uf_fragCoordScale; +layout(binding = 1) uniform sampler3D textureUnitPS1; +layout(binding = 2) uniform sampler2DArray textureUnitPS2; +layout(binding = 3) uniform sampler2D textureUnitPS3; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(binding = 6) uniform sampler2D textureUnitPS6; +layout(binding = 7) uniform sampler2D textureUnitPS7; +layout(binding = 8) uniform sampler2D textureUnitPS8; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem2; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem5; +layout(location = 5) in vec4 passParameterSem7; +layout(location = 6) in vec4 passParameterSem8; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 5) out vec4 passPixelColor5; +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 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; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem1); +R2i = floatBitsToInt(passParameterSem2); +R3i = floatBitsToInt(passParameterSem4); +R4i = floatBitsToInt(passParameterSem5); +R5i = floatBitsToInt(passParameterSem7); +R6i = floatBitsToInt(passParameterSem8); +if( activeMaskStackC[1] == true ) { +R7i.xy = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.xy)).xy); +R9i.xyz = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).xyz); +R8i.xyz = floatBitsToInt(texture(textureUnitPS7, intBitsToFloat(R0i.zw)).xyz); +R1i.xyz = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).xyz); +R1i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).x); +R10i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R0i.xy)).xyz); +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R4i.x))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R4i.y))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R4i.z))); +R127i.w = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV0i.w = R127i.w; +R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PS0i = R127i.z; +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.x)),intBitsToFloat(R3i.y)) + intBitsToFloat(PV0i.y))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.z)),intBitsToFloat(R3i.x)) + intBitsToFloat(PV0i.x))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.y)),intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.z))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS0i))); +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.y))); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); +R126i.x = floatBitsToInt(fract(intBitsToFloat(R6i.x))); +PS0i = R126i.x; +// 3 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.y))); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); +PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +R127i.w = floatBitsToInt(fract(intBitsToFloat(R6i.y))); +PS1i = R127i.w; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w))); +// 5 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(PS0i)) + intBitsToFloat(R127i.y))); +PV1i.x = R127i.x; +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); +PV1i.y = R126i.y; +R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PS0i)) + intBitsToFloat(R127i.z))); +PV1i.z = R125i.z; +R126i.w = floatBitsToInt(intBitsToFloat(R126i.x) + -(0.5)); +R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +PS1i = R127i.z; +// 6 +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; +R126i.z = tempi.x; +R127i.y = floatBitsToInt(intBitsToFloat(R127i.w) + -(0.5)); +PS0i = R127i.y; +// 7 +backupReg0i = R127i.z; +R126i.x = floatBitsToInt(mul_nonIEEE(Color.r, intBitsToFloat(R9i.x))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R1i.y))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R1i.x))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R1i.z))); +R127i.w = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); +PS1i = R127i.w; +// 8 +R125i.x = floatBitsToInt(mul_nonIEEE(Color.b, intBitsToFloat(R9i.z))); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(R126i.w)) + 1.0)); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(R127i.y)) + 1.0)); +R123i.z = clampFI32(R123i.z); +PV0i.z = R123i.z; +R4i.w = floatBitsToInt(mul_nonIEEE(Color.g, intBitsToFloat(R9i.y))); +tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.z)); +R126i.w = floatBitsToInt(tempResultf); +PS0i = R126i.w; +// 9 +backupReg0i = R127i.w; +backupReg1i = R5i.z; +backupReg0i = R127i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),intBitsToFloat(uf_remappedPS[1].z)) + -(intBitsToFloat(uf_remappedPS[1].y)))); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R127i.w))); +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(backupReg0i))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(backupReg0i))); +PS1i = R126i.z; +// 10 +backupReg0i = R126i.y; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R126i.w))); +R126i.y = floatBitsToInt(mul_nonIEEE(Color.r, intBitsToFloat(R126i.x))); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(PV1i.x))); +R124i.w = floatBitsToInt(mul_nonIEEE(Color.g, intBitsToFloat(R4i.w))); +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.w))); +PS0i = R4i.y; +// 11 +backupReg0i = R125i.y; +R127i.x = floatBitsToInt(mul_nonIEEE(Color.b, intBitsToFloat(R125i.x))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_remappedPS[1].x) * Factor)); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R126i.w))); +PV1i.z = R4i.z; +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[1].x) * Factor)); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(uf_remappedPS[1].x) * Factor)); +PS1i = R124i.y; +// 12 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.y),intBitsToFloat(R127i.w),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(PV1i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(0x3f59999a)); +PS0i = R127i.w; +// 13 +backupReg0i = R124i.z; +backupReg1i = R127i.x; +backupReg0i = R124i.z; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R124i.w))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R125i.y))); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.y))); +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(R126i.w))); +PS1i = R124i.w; +// 14 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R124i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.z))); +R3i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x3f969696)); +R3i.z = clampFI32(R3i.z); +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y))); +PS0i = R5i.x; +// 15 +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(R124i.w))); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R124i.y)) + intBitsToFloat(PV0i.x))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PV0i.y))); +PS1i = R6i.y; +// 16 +R7i.y = 0x3f800000; +R6i.z = floatBitsToInt(-(intBitsToFloat(R4i.z)) + 1.0); +R8i.y = 0; +PS0i = R8i.y; +// 17 +R3i.y = floatBitsToInt(intBitsToFloat(R127i.y) + 1.0); +R3i.y = clampFI32(R3i.y); +R1i.y = floatBitsToInt(fract(intBitsToFloat(uf_remappedPS[3].w))); +PS1i = R1i.y; +// 18 +predResult = (intBitsToFloat(R1i.y) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.z = floatBitsToInt(floor(intBitsToFloat(uf_remappedPS[3].w))); +PV0i.z = R0i.z; +// 1 +R0i.z = floatBitsToInt(roundEven(intBitsToFloat(PV0i.z))); +} +if( activeMaskStackC[2] == true ) { +R0i.xyz = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).xyz); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R0i.y)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg0i)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R10i.z)) + intBitsToFloat(R0i.z)); +// 1 +backupReg0i = R10i.x; +backupReg1i = R10i.y; +backupReg2i = R10i.z; +R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(backupReg0i))); +R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(backupReg1i))); +R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.y)) + intBitsToFloat(backupReg2i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R4i.x = ((intBitsToFloat(uf_remappedPS[4].w) > 0.0)?int(0xFFFFFFFF):int(0x0)); +// 1 +predResult = (R4i.x != 0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R0i.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x3e99999a)); +R0i.y = floatBitsToInt(intBitsToFloat(R2i.y) * intBitsToFloat(0x3e99999a)); +R0i.z = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3e99999a)); +} +if( activeMaskStackC[2] == true ) { +R0i.z = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(intBitsToFloat(R10i.z) * intBitsToFloat(0x3dea4a8c)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R0i.z)) + 1.0); +tempResultf = max(0.0, intBitsToFloat(R3i.y)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R126i.w = floatBitsToInt(tempResultf); +PS0i = R126i.w; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(0x3e99096c),intBitsToFloat(0x3f162b6b),1.0,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.w = tempi.x; +tempResultf = max(0.0, intBitsToFloat(PV0i.y)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 2 +R127i.x = floatBitsToInt((0.5 * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3dcccccd))); +PV0i.x = R127i.x; +R127i.y = floatBitsToInt((intBitsToFloat(0x3f19999a) * intBitsToFloat(PV1i.x) + intBitsToFloat(0x3e4ccccd))); +PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3fa66666)); +// 3 +R126i.y = floatBitsToInt((intBitsToFloat(0x3f266666) * intBitsToFloat(R127i.w) + intBitsToFloat(0x3eb33333))); +PV1i.y = R126i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(0x40200000)); +R127i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3e23d70a)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 0.25); +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3e4ccccd)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(0x3e851eb8)); +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); +PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); +// 5 +PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.y)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.x))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.y))); +PV1i.w = R123i.w; +R8i.y = 0x3e99999a; +PS1i = R8i.y; +// 6 +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); +PV0i.y = clampFI32(PV0i.y); +R127i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); +R127i.z = clampFI32(R127i.z); +PV0i.z = R127i.z; +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)); +PV0i.w = clampFI32(PV0i.w); +// 7 +PV1i.x = floatBitsToInt(-(intBitsToFloat(R10i.x)) + intBitsToFloat(PV0i.y)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.y)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.z)); +PV1i.w = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(PV0i.w)); +R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.w)); +PS1i = R127i.x; +// 8 +backupReg0i = R10i.x; +backupReg1i = R10i.y; +backupReg2i = R10i.z; +backupReg3i = R5i.x; +R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg0i))); +R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg1i))); +R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg2i))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R127i.z)); +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg3i))); +PS0i = R5i.x; +// 9 +backupReg0i = R5i.y; +backupReg1i = R5i.z; +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg0i))); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(backupReg1i))); +// 10 +R6i.y = R7i.y; +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +R7i.y = R8i.y; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (intBitsToFloat(uf_remappedPS[4].x) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[4].y)); +// 1 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i))); +PV1i.x = R127i.x; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS0i))); +// 2 +R0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x40666666)); +R0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x40666666)); +R0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x40666666)); +R1i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f3851ec)); +R1i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3f3851ec)); +PS0i = R1i.y; +// 3 +R1i.z = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3f3851ec)); +} +if( activeMaskStackC[2] == true ) { +R0i.y = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.z))).x); +R0i.x = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R1i.w),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(R0i.x)); +// 1 +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x3f333333) + intBitsToFloat(R0i.y))); +PV1i.y = R123i.y; +// 2 +PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(PV1i.y)); +// 3 +R127i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x41a00000)); +R127i.w = clampFI32(R127i.w); +PV1i.w = R127i.w; +// 4 +backupReg0i = R10i.x; +backupReg1i = R10i.y; +backupReg2i = R10i.z; +backupReg3i = R5i.x; +R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); +R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.w))); +R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PV1i.w))); +R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg3i), intBitsToFloat(PV1i.w))); +PS0i = R5i.x; +// 5 +backupReg0i = R5i.y; +backupReg1i = R5i.z; +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.w))); +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R127i.w))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R1i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].x) * intBitsToFloat(0xbd088889)); +// 1 +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y), intBitsToFloat(uf_remappedPS[6].x))); +// 2 +predResult = (intBitsToFloat(uf_remappedPS[7].w) != 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x3e22f983)); +PV0i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(0x40e66666)); +PV0i.z = floatBitsToInt(intBitsToFloat(R2i.y) * intBitsToFloat(0x3e22f983)); +PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3e22f983)); +PS0i = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R4i.z)); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + 0.5)); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.y)) + 0.5)); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PS0i)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + 0.5)); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[7].w), -(intBitsToFloat(uf_remappedPS[7].w)))); +// 2 +PV0i.x = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.x))); +PV0i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.w))); +R127i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e99999a)); +R125i.w = floatBitsToInt(sqrt(intBitsToFloat(PS1i))); +PS0i = R125i.w; +// 3 +R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +R127i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +R126i.z = R6i.z; +R126i.z = clampFI32(R126i.z); +R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +PV1i.w = R123i.w; +R124i.w = floatBitsToInt((intBitsToFloat(0xc3020000) * intBitsToFloat(PS0i) + intBitsToFloat(0x43200000))); +PS1i = R124i.w; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.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(0x3e22f983)); +// 5 +PV1i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(0x3e22f983)); +R127i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PV0i.x))); +R0i.w = floatBitsToInt((intBitsToFloat(0xc31a0000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x43200000))); +R126i.y = floatBitsToInt(sin((intBitsToFloat(PS0i))/0.1591549367)); +PS1i = R126i.y; +// 6 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.w = tempi.x; +PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.x))/0.1591549367)); +// 7 +backupReg0i = R127i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.z))); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt((intBitsToFloat(0xc2080000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x42200000))); +PV1i.z = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PS0i)); +R127i.w = floatBitsToInt((intBitsToFloat(0xbfe66666) * intBitsToFloat(R125i.w) + intBitsToFloat(0x40333333))); +PS1i = floatBitsToInt(sin((intBitsToFloat(backupReg0i))/0.1591549367)); +// 8 +R125i.x = floatBitsToInt((intBitsToFloat(0xbd8f5c29) * intBitsToFloat(R125i.w) + intBitsToFloat(0x3d8f5c29))); +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(PV1i.z)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R126i.w)); +R126i.w = floatBitsToInt((intBitsToFloat(0xc0333333) * intBitsToFloat(R125i.w) + intBitsToFloat(0x40333333))); +tempResultf = max(0.0, intBitsToFloat(R126i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R127i.x = floatBitsToInt(tempResultf); +PS0i = R127i.x; +// 9 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * 0.25 + intBitsToFloat(PV0i.z))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(0x3e4ccccd) + intBitsToFloat(0x3e4ccccd))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(0x3d4cccce) * intBitsToFloat(R125i.w) + intBitsToFloat(0x3dcccccd))); +PV1i.z = R123i.z; +PV1i.w = ((0.0 > intBitsToFloat(uf_remappedPS[7].w))?int(0xFFFFFFFF):int(0x0)); +R126i.x = ((intBitsToFloat(uf_remappedPS[7].w) == 0.0)?int(0xFFFFFFFF):int(0x0)); +PS1i = R126i.x; +// 10 +PV0i.x = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x41000000)); +R123i.y = ((PV1i.w == 0)?(PV1i.y):(PV1i.z)); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3f400000) + intBitsToFloat(R1i.x))); +PV0i.z = R123i.z; +PV0i.w = PV1i.x; +PV0i.w = clampFI32(PV0i.w); +R127i.z = floatBitsToInt((intBitsToFloat(0xc3480000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x43960000))); +PS0i = R127i.z; +// 11 +R127i.x = floatBitsToInt((intBitsToFloat(0xc36b0000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x437f0000))); +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0xbeb33333) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R2i.w = ((R126i.x == 0)?(PV0i.y):(0)); +R125i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); +PS1i = R125i.z; +// 12 +PV0i.x = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +R125i.y = floatBitsToInt((intBitsToFloat(0x41600000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x40c00000))); +// 13 +PV1i.z = PV0i.x; +PV1i.z = clampFI32(PV1i.z); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); +PV1i.w = clampFI32(PV1i.w); +// 14 +PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.z)); +// 15 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); +PV1i.x = R126i.x; +R125i.w = PV0i.y; +R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); +// 16 +PV0i.z = floatBitsToInt(intBitsToFloat(0x40400000) * intBitsToFloat(PV1i.x)); +// 17 +R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.z))); +PV1i.y = R126i.y; +// 18 +tempResultf = max(0.0, intBitsToFloat(PV1i.y)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 19 +PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x43480000)); +// 20 +R126i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); +PS0i = R126i.z; +// 21 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PS0i)) + intBitsToFloat(R127i.w))); +PV1i.y = R123i.y; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + intBitsToFloat(R125i.x))); +PV1i.w = R123i.w; +// 22 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.w))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(0x3ecccccd) + intBitsToFloat(PV1i.w))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(0x3ecccccd) + intBitsToFloat(PV1i.y))); +PV0i.z = R123i.z; +// 23 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.y))); +R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(0x3ecccccd) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.z))); +PV1i.w = R123i.w; +// 24 +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R2i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.y))); +PV0i.z = R123i.z; +// 25 +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R2i.w))); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R2i.w))); +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +R0i.xyz = ivec3(0,0,0); +R2i.w = 0; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (intBitsToFloat(uf_remappedPS[3].x) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R2i.w; +PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x40490fdb)); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +R127i.y = R6i.z; +R127i.y = clampFI32(R127i.y); +PV0i.y = R127i.y; +PV0i.z = floatBitsToInt(intBitsToFloat(R4i.z) + -(intBitsToFloat(R10i.y))); +R127i.w = floatBitsToInt(intBitsToFloat(R2i.y) * intBitsToFloat(0x40600000)); +R2i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(backupReg0i))); +PS0i = R2i.w; +// 1 +R123i.y = floatBitsToInt((intBitsToFloat(R4i.y) * 0.5 + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983) + 0.5)); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); +PV1i.w = R126i.w; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.w))); +// 3 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.w))); +PV1i.w = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(PV0i.x)); +// 4 +PV0i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); +// 5 +PV1i.x = PV0i.z; +PV1i.x = clampFI32(PV1i.x); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); +PV1i.y = clampFI32(PV1i.y); +PS1i = floatBitsToInt(sin((intBitsToFloat(PV0i.w))/0.1591549367)); +// 6 +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) + 1.0); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.x)); +// 7 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.y))); +PV1i.x = R127i.x; +R127i.y = PV0i.w; +R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); +PV1i.z = R127i.z; +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); +// 8 +PV0i.x = floatBitsToInt(intBitsToFloat(0x40400000) * intBitsToFloat(PV1i.z)); +R126i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3df5c290)); +R126i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e8a3d71)); +R126i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3b449ba6)); +R126i.x = PV1i.x; +R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) / 2.0); +PS0i = R126i.x; +// 9 +backupReg0i = R127i.x; +backupReg0i = R127i.x; +backupReg1i = R127i.z; +R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x41100000)); +R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40a00000)); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.x))); +PV1i.w = R123i.w; +// 10 +tempResultf = max(0.0, intBitsToFloat(PV1i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 11 +PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x40c00000)); +// 12 +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); +// 13 +R123i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(R126i.w))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x3f19999a) + intBitsToFloat(R126i.y))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x3fe66666) + intBitsToFloat(R126i.z))); +PV1i.w = R123i.w; +// 14 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.z)); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R127i.x)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.x)); +// 15 +backupReg0i = R0i.y; +backupReg1i = R0i.x; +PV1i.x = floatBitsToInt(-(intBitsToFloat(R0i.z)) + intBitsToFloat(PV0i.w)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x)); +PV1i.z = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.y)); +// 16 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +backupReg2i = R0i.z; +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(backupReg0i))); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(backupReg1i))); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(backupReg2i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +predResult = (intBitsToFloat(uf_remappedPS[3].y) > 0.0); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R3i.y))); +R127i.z = floatBitsToInt(-(intBitsToFloat(backupReg0i))); +// 1 +backupReg0i = R0i.y; +PV1i.x = floatBitsToInt(-(intBitsToFloat(R0i.z)) + intBitsToFloat(PV0i.x)); +PV1i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(PV0i.x))); +// 2 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +backupReg2i = R0i.z; +backupReg3i = R2i.w; +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); +R2i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(PV1i.w)); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R127i.y = R2i.w; +R127i.y = clampFI32(R127i.y); +PV0i.y = R127i.y; +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),-(intBitsToFloat(PV0i.y))) + intBitsToFloat(R5i.y))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),-(intBitsToFloat(PV0i.y))) + intBitsToFloat(R5i.z))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),-(intBitsToFloat(PV0i.y))) + intBitsToFloat(R5i.x))); +PV1i.z = R123i.z; +R127i.w = ((intBitsToFloat(PV0i.y) > 0.0)?int(0xFFFFFFFF):int(0x0)); +PV1i.w = R127i.w; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(PV0i.y))) + intBitsToFloat(R10i.x))); +PS1i = R122i.x; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +R126i.y = ((PV1i.w == 0)?(R10i.x):(PS1i)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.x))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.z))); +PV0i.w = R123i.w; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R10i.y))); +PS0i = R122i.x; +// 3 +R127i.x = ((R127i.w == 0)?(R5i.x):(PV0i.w)); +PV1i.x = R127i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R10i.z))); +PV1i.y = R123i.y; +R127i.z = ((R127i.w == 0)?(R5i.z):(PV0i.x)); +PV1i.z = R127i.z; +R126i.w = ((R127i.w == 0)?(R5i.y):(PV0i.z)); +PV1i.w = R126i.w; +R125i.w = ((R127i.w == 0)?(R10i.y):(PS0i)); +PS1i = R125i.w; +// 4 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(uf_remappedPS[8].y)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[8].x)); +R126i.z = ((R127i.w == 0)?(R10i.z):(PV1i.y)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R6i.y))); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[8].z)); +// 5 +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(R127i.x))); +R3i.y = ((R127i.w == 0)?(R6i.y):(PV0i.w)); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(R127i.z))); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[8].w)) + intBitsToFloat(R126i.w))); +PS1i = R5i.y; +// 6 +R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R126i.y))); +R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R125i.w))); +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R126i.z))); +// 7 +predResult = (1.0 > intBitsToFloat(uf_remappedPS[2].w)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_remappedPS[6].x))); +R0i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[2].w)) * intBitsToFloat(0x40200000) + intBitsToFloat(0x40200000))); +R0i.y = clampFI32(R0i.y); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_remappedPS[6].x))); +PV0i.z = R0i.z; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_remappedPS[6].x))); +// 1 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[9].z))); +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[9].z))); +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[9].z))); +R1i.w = PV0i.w; +R1i.w = floatBitsToInt(intBitsToFloat(R1i.w) / 2.0); +R1i.x = PV0i.x; +R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) / 2.0); +PS1i = R1i.x; +} +if( activeMaskStackC[2] == true ) { +R0i.w = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[9].y))); +R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].w),intBitsToFloat(R0i.w)) + intBitsToFloat(R1i.w))); +} +if( activeMaskStackC[2] == true ) { +R1i.z = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z))).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +if( (intBitsToFloat(R3i.z) > intBitsToFloat(R1i.z))) discard; +tempResultf = max(0.0, intBitsToFloat(R1i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R1i.x = floatBitsToInt(tempResultf); +PS0i = R1i.x; +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3fe66666)); +// 1 +R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); +PS1i = R127i.z; +// 2 +R123i.x = floatBitsToInt((intBitsToFloat(0x40b1999a) * intBitsToFloat(PS1i) + intBitsToFloat(0x3ee66666))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(0x3dccccce) * intBitsToFloat(PS1i) + intBitsToFloat(0x3e4ccccd))); +PV0i.y = R123i.y; +// 3 +backupReg0i = R5i.x; +backupReg1i = R5i.y; +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); +R123i.w = floatBitsToInt((intBitsToFloat(0x41200000) * intBitsToFloat(R127i.z) + 4.0)); +PV1i.w = R123i.w; +// 4 +backupReg0i = R5i.z; +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),-(intBitsToFloat(uf_remappedPS[8].w))) + intBitsToFloat(R3i.y))); +PV0i.x = R123i.x; +PV0i.y = uf_remappedPS[7].z; +PV0i.z = ((intBitsToFloat(R8i.y) > 0.0)?int(0xFFFFFFFF):int(0x0)); +R123i.w = ((R4i.x == 0)?(0x3d008081):(0x3d30b0b1)); +PV0i.w = R123i.w; +R1i.w = floatBitsToInt(1.0); +PS0i = R1i.w; +// 1 +R1i.x = PV0i.w; +R127i.y = ((PV0i.z == 0)?(0):(0x3f800000)); +PV1i.y = R127i.y; +R0i.z = floatBitsToInt((intBitsToFloat(R4i.z) * 0.5 + 0.5)); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x427f0000)); +R1i.y = PV0i.y; +PS1i = R1i.y; +// 2 +PV0i.x = ((intBitsToFloat(PV1i.y) > 0.0)?int(0xFFFFFFFF):int(0x0)); +R0i.y = floatBitsToInt((intBitsToFloat(R4i.y) * 0.5 + 0.5)); +PV0i.z = floatBitsToInt(floor(intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); +R2i.w = 0x3f800000; +R0i.x = floatBitsToInt((intBitsToFloat(R3i.x) * 0.5 + 0.5)); +PS0i = R0i.x; +// 3 +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + 2.0); +R123i.w = ((PV0i.x == 0)?(R7i.y):(R8i.y)); +PV1i.w = R123i.w; +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV1i.y)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x437f0000)); +// 5 +R0i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b808081)); +PS1i = int(intBitsToFloat(PV0i.z)); +// 6 +PV0i.x = PS1i & 0x000000e0; +// 7 +PV1i.w = PV0i.x >> 0x00000003; +// 8 +PS0i = floatBitsToInt(float(PV1i.w)); +// 9 +PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(0x42c00000)); +// 10 +R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * 2.0 + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +// 11 +R5i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3b808081) + intBitsToFloat(0x3b808081))); +// 12 +R4i.xyz = ivec3(R5i.x,R5i.y,R5i.z); +R4i.w = R2i.w; +// 13 +R3i.xyz = ivec3(R0i.x,R0i.y,R0i.z); +R3i.w = R0i.w; +// 14 +R2i.xyz = ivec3(R6i.x,R6i.y,R6i.z); +R2i.w = R5i.w; +// 15 +backupReg0i = R1i.x; +backupReg1i = R1i.y; +backupReg2i = R1i.z; +backupReg3i = R1i.w; +R1i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); +R1i.w = backupReg3i; +} +// export +passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +passPixelColor1 = 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)); +passPixelColor5 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/91b6e09da2ff63cc_000003c3c3fc9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/91b6e09da2ff63cc_000003c3c3fc9249_ps.txt new file mode 100644 index 00000000..0760d513 --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/91b6e09da2ff63cc_000003c3c3fc9249_ps.txt @@ -0,0 +1,223 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Factor = $L_f; + +// Guardian Stalker + Scout + Guardian weapons + +// shader 91b6e09da2ff63cc +uniform ivec4 uf_remappedPS[3]; +uniform vec2 uf_fragCoordScale; +layout(binding = 1) uniform sampler2D textureUnitPS1; +layout(binding = 2) uniform sampler2D textureUnitPS2; +layout(binding = 3) uniform sampler2D textureUnitPS3; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(binding = 6) uniform sampler2D textureUnitPS6; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem7; +layout(location = 3) in vec4 passParameterSem3; +layout(location = 4) in vec4 passParameterSem4; +layout(location = 5) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 5) out vec4 passPixelColor5; +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 R122f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R124f = 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; +R0f = passParameterSem0; +R1f = passParameterSem1; +R2f = passParameterSem7; +R3f = passParameterSem3; +R4f = passParameterSem4; +R5f = passParameterSem6; +R5f.xy = (texture(textureUnitPS3, R0f.xy).xy); +R1f.w = (texture(textureUnitPS2, R0f.xy).x); +R7f.xyz = (texture(textureUnitPS4, R0f.xy).xyz); +R6f.xyz = (texture(textureUnitPS5, R0f.zw).xyz); +R1f.xyz = (texture(textureUnitPS6, R1f.xy).xyz); +R0f.xyz = (texture(textureUnitPS1, R0f.xy).xyz); +// 0 +PV0f.x = fract(R2f.x); +R126f.y = (R5f.x * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204)); +PV0f.y = R126f.y; +R127f.z = mul_nonIEEE(R3f.y, R4f.z); +PV0f.w = fract(R2f.y); +R126f.z = mul_nonIEEE(R3f.z, R4f.x); +PS0f = R126f.z; +// 1 +PV1f.x = mul_nonIEEE(R3f.x, R4f.y); +PV1f.y = PV0f.w + -(0.5); +PV1f.z = PV0f.x + -(0.5); +R127f.w = (R5f.y * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204)); +PV1f.w = R127f.w; +PS1f = mul_nonIEEE(PV0f.y, PV0f.y); +// 2 +R123f.x = (mul_nonIEEE(-(PV1f.z),PV1f.z) + 1.0); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV0f.x = R123f.x; +R127f.y = (mul_nonIEEE(-(R4f.y),R3f.z) + R127f.z); +R127f.z = (mul_nonIEEE(-(R4f.x),R3f.y) + PV1f.x); +R123f.w = (mul_nonIEEE(-(PV1f.y),PV1f.y) + 1.0); +R123f.w = clamp(R123f.w, 0.0, 1.0); +PV0f.w = R123f.w; +R122f.x = (mul_nonIEEE(PV1f.w,PV1f.w) + PS1f); +R122f.x = clamp(R122f.x, 0.0, 1.0); +PS0f = R122f.x; +// 3 +PV1f.x = -(PS0f) + 1.0; +PV1f.y = mul_nonIEEE(R4f.w, R127f.w); +PV1f.z = mul_nonIEEE(PV0f.x, PV0f.w); +R123f.w = (mul_nonIEEE(-(R4f.z),R3f.x) + R126f.z); +PV1f.w = R123f.w; +R125f.z = mul_nonIEEE(R6f.x, R1f.x); +PS1f = R125f.z; +// 4 +PV0f.x = mul_nonIEEE(R127f.y, PV1f.y); +PV0f.y = mul_nonIEEE(PV1f.z, PV1f.z); +PV0f.z = mul_nonIEEE(R127f.z, PV1f.y); +PV0f.w = mul_nonIEEE(PV1f.w, PV1f.y); +R127f.z = sqrt(PV1f.x); +PS0f = R127f.z; +// 5 +R123f.x = (mul_nonIEEE(R4f.y,R126f.y) + PV0f.w); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(R4f.x,R126f.y) + PV0f.x); +PV1f.y = R123f.y; +R126f.z = mul_nonIEEE(R1f.w, PV0f.y); +R123f.w = (mul_nonIEEE(R4f.z,R126f.y) + PV0f.z); +PV1f.w = R123f.w; +R126f.y = mul_nonIEEE(R6f.z, R1f.z); +PS1f = R126f.y; +// 6 +R124f.x = (mul_nonIEEE(R3f.x,R127f.z) + PV1f.y); +R124f.y = (mul_nonIEEE(R3f.y,R127f.z) + PV1f.x); +R1f.z = (mul_nonIEEE(R3f.z,R127f.z) + PV1f.w); +R127f.w = mul_nonIEEE(R6f.y, R1f.y); +R126f.w = mul_nonIEEE(Color.r, R7f.x); +PS0f = R126f.w; +// 7 +R127f.x = mul_nonIEEE(Color.r, PS0f); +R127f.y = mul_nonIEEE(Color.g, R7f.y); +PV1f.z = R126f.z * intBitsToFloat(0x427f0000); +R125f.w = mul_nonIEEE(Color.b, R7f.z); +R124f.z = intBitsToFloat(0x3d008081); +PS1f = R124f.z; +// 8 +R123f.x = (mul_nonIEEE(-(R5f.z),intBitsToFloat(uf_remappedPS[1].z)) + -(intBitsToFloat(uf_remappedPS[1].y))); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV0f.x = R123f.x; +R125f.y = mul_nonIEEE(R125f.z, intBitsToFloat(uf_remappedPS[1].x) * Factor); +PV0f.y = R125f.y; +R127f.z = mul_nonIEEE(R127f.w, intBitsToFloat(uf_remappedPS[1].x) * Factor); +PV0f.z = R127f.z; +R127f.w = mul_nonIEEE(R126f.y, intBitsToFloat(uf_remappedPS[1].x) * Factor); +PV0f.w = R127f.w; +R126f.y = floor(PV1f.z); +R126f.y *= 4.0; +PS0f = R126f.y; +// 9 +backupReg0f = R126f.w; +R126f.x = mul_nonIEEE(R127f.y, PV0f.z); +PV1f.y = mul_nonIEEE(Color.g, R127f.y); +R125f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), PV0f.x); +PV1f.z = R125f.z; +R126f.w = mul_nonIEEE(backupReg0f, PV0f.y); +R125f.x = mul_nonIEEE(R125f.w, PV0f.w); +PS1f = R125f.x; +// 10 +backupReg0f = R126f.y; +PV0f.x = mul_nonIEEE(Color.b, R125f.w); +R126f.y = mul_nonIEEE(PV1f.z, R127f.x); +R126f.z = mul_nonIEEE(PV1f.z, PV1f.y); +R125f.w = intBitsToFloat(uf_remappedPS[2].z); +R127f.x = backupReg0f + 2.0; +PS0f = R127f.x; +// 11 +backupReg0f = R125f.z; +tempf.x = dot(vec4(R124f.x,R124f.y,R1f.z,-0.0),vec4(R124f.x,R124f.y,R1f.z,0.0)); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R125f.z = tempf.x; +PS1f = mul_nonIEEE(backupReg0f, PV0f.x); +// 12 +R5f.x = (mul_nonIEEE(R126f.y,R125f.y) + R126f.w); +R5f.y = (mul_nonIEEE(R126f.z,R127f.z) + R126f.x); +R5f.z = (mul_nonIEEE(PS1f,R127f.w) + R125f.x); +R1f.w = 1.0; +R1f.x = R124f.z; +PS0f = R1f.x; +// 13 +R1f.y = R125f.w; +R5f.w = 1.0; +R7f.w = R127f.x * intBitsToFloat(0x3b808081); +PS1f = R7f.w; +// 14 +R0f.w = intBitsToFloat(0x3ec2c2c4); +tempResultf = 1.0 / sqrt(R125f.z); +PS0f = tempResultf; +PS0f /= 2.0; +// 15 +R7f.x = (mul_nonIEEE(R124f.x,PS0f) + 0.5); +R7f.y = (mul_nonIEEE(R124f.y,PS0f) + 0.5); +R7f.z = (mul_nonIEEE(R1f.z,PS0f) + 0.5); +// 16 +backupReg0f = R5f.x; +backupReg1f = R5f.y; +backupReg2f = R5f.z; +backupReg3f = R5f.w; +R5f.xyz = vec3(backupReg0f,backupReg1f,backupReg2f); +R5f.w = backupReg3f; +// 17 +R4f.xyz = vec3(R7f.x,R7f.y,R7f.z); +R4f.w = R7f.w; +// 18 +R3f.xyz = vec3(R0f.x,R0f.y,R0f.z); +R3f.w = R0f.w; +// 19 +R2f.xyz = vec3(R1f.x,R1f.y,R1f.z); +R2f.w = R1f.w; +// export +passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); +passPixelColor1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +passPixelColor3 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +passPixelColor5 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/rules.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/rules.txt new file mode 100644 index 00000000..5607c3fc --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guadian_Stalker_Scout_and_Weapons/rules.txt @@ -0,0 +1,55 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Guardian Stalker & Guardian Scout & The top Half of Guardian weapons +path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Guardian Stalker & Scout & Guardian weapons" +description = Change Guardian Stalker, Scout, Guardian weapons's color. Originally it depends on whether it's corrupted by malice, or the state of the Guardian Scout. +version = 3 + +[Preset] +name = Malice Red +$R = 0.85 +$G = 0.029 +$B = 0.15 +$L_f = 1.0 + +[Preset] +name = Guardian Yellow +$R = 1.0 +$G = 0.2 +$B = 0.059 +$L_f = 1.0 + +[Preset] +name = Guardian weapon Yellow +$R = 1.0 +$G = 0.2 +$B = 0.0 +$L_f = 1.0 + +[Preset] +name = Ancient Orange +$R = 1.0 +$G = 0.2 +$B = 0.0006 +$L_f = 1.0 + +[Preset] +name = Ancient weapon Orange +$R = 1.0 +$G = 0.15 +$B = 0.05 +$L_f = 1.0 + +[Preset] +name = Energy Blue +$R = 0.03 +$G = 0.25 +$B = 1.0 +$L_f = 1.0 + +[Preset] +name = Custom (Edit in rules.txt) +$R = 0.000 +$G = 0.000 +$B = 0.000 +$L_f = 1.0 diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/133297c9a66bfc98_000003c3c3fc9249_ps.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/133297c9a66bfc98_000003c3c3fc9249_ps.txt new file mode 100644 index 00000000..0a597afa --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/133297c9a66bfc98_000003c3c3fc9249_ps.txt @@ -0,0 +1,304 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable + +const vec3 Color = vec3($R,$G,$B); +const float Factor = $L_f; + +// Guardian Turret + Skywatcher + +// shader 133297c9a66bfc98 +uniform ivec4 uf_remappedPS[5]; +uniform vec2 uf_fragCoordScale; +layout(binding = 1) uniform sampler2D textureUnitPS1; +layout(binding = 2) uniform sampler2D textureUnitPS2; +layout(binding = 3) uniform sampler2D textureUnitPS3; +layout(binding = 4) uniform sampler2D textureUnitPS4; +layout(binding = 5) uniform sampler2D textureUnitPS5; +layout(binding = 6) uniform sampler2D textureUnitPS6; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem7; +layout(location = 3) in vec4 passParameterSem3; +layout(location = 4) in vec4 passParameterSem4; +layout(location = 5) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 3) out vec4 passPixelColor3; +layout(location = 5) out vec4 passPixelColor5; +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 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; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem1); +R2i = floatBitsToInt(passParameterSem7); +R3i = floatBitsToInt(passParameterSem3); +R4i = floatBitsToInt(passParameterSem4); +R5i = floatBitsToInt(passParameterSem6); +R6i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R0i.xy)).xy); +R9i.xy = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R0i.xy)).xy); +R2i.w = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.zw)).w); +R8i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).xyz); +R7i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.zw)).xyz); +R1i.xyz = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R1i.xy)).xyz); +R0i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyz); +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R4i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R4i.x))); +R127i.z = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PV0i.z = R127i.z; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R4i.z))); +R127i.y = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204))); +PS0i = R127i.y; +// 1 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.x)),intBitsToFloat(R3i.y)) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.y)),intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.w))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.z)),intBitsToFloat(R3i.x)) + intBitsToFloat(PV0i.y))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS0i))); +// 2 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.x))); +R123i.w = clampFI32(R123i.w); +PV0i.w = R123i.w; +R126i.x = floatBitsToInt(fract(intBitsToFloat(R2i.x))); +PS0i = R126i.x; +// 3 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.x))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.y))); +PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z))); +R127i.z = floatBitsToInt(fract(intBitsToFloat(R2i.y))); +PS1i = R127i.z; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.z))); +// 5 +backupReg0i = R127i.x; +backupReg1i = R127i.y; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); +PV1i.x = R127i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(PS0i)) + intBitsToFloat(R127i.w))); +PV1i.y = R127i.y; +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); +PV1i.z = R126i.z; +R127i.w = floatBitsToInt(intBitsToFloat(R126i.x) + -(0.5)); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +// 6 +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(1.0 / intBitsToFloat(PS1i)); +// 7 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(intBitsToFloat(R127i.z) + -(0.5)); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS0i))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS0i))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 8 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); +PV0i.x = R3i.x; +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); +PV0i.y = R3i.y; +R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); +PV0i.z = R3i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R127i.w)) + 1.0)); +R123i.w = clampFI32(R123i.w); +PV0i.w = R123i.w; +R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); +R122i.x = clampFI32(R122i.x); +PS0i = R122i.x; +// 9 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w),-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; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); +// 10 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PS1i)) + intBitsToFloat(R9i.y))); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(intBitsToFloat(R9i.y) * intBitsToFloat(0x437f0000)); +PV0i.z = floatBitsToInt(intBitsToFloat(R2i.w) + -(1.0)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); +PV0i.w = clampFI32(PV0i.w); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R1i.x))); +PS0i = R127i.y; +// 11 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R1i.y))); +R126i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); +PV1i.y = R126i.y; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R1i.z))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(PV0i.x))); +PS1i = int(intBitsToFloat(PV0i.y)); +// 12 +R127i.x = floatBitsToInt(mul_nonIEEE(Color.r, intBitsToFloat(R8i.x))); +R125i.y = PS1i & 0x000000e0; +R126i.z = floatBitsToInt(mul_nonIEEE(Color.g, intBitsToFloat(R8i.y))); +R127i.w = floatBitsToInt(mul_nonIEEE(Color.b, intBitsToFloat(R8i.z))); +R125i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV1i.y)); +PS0i = R125i.x; +// 13 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedPS[1].x) * Factor)); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[1].x) * Factor)); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_remappedPS[1].x) * Factor)); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),intBitsToFloat(uf_remappedPS[1].z)) + -(intBitsToFloat(uf_remappedPS[1].y)))); +R123i.w = clampFI32(R123i.w); +PV1i.w = R123i.w; +R125i.w = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(R126i.y)); +PS1i = R125i.w; +// 14 +backupReg0i = R126i.y; +backupReg1i = R126i.w; +PV0i.x = floatBitsToInt(mul_nonIEEE(Color.r, intBitsToFloat(R127i.x))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(PV1i.w))); +PV0i.y = R126i.y; +PV0i.z = floatBitsToInt(mul_nonIEEE(Color.g, intBitsToFloat(R126i.z))); +R126i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(backupReg0i)); +R127i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x427f0000)); +PS0i = R127i.y; +// 15 +backupReg0i = R125i.y; +backupReg1i = R127i.x; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.x))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z))); +R127i.z = backupReg0i >> 0x00000003; +PV1i.w = floatBitsToInt(mul_nonIEEE(Color.b, intBitsToFloat(R127i.w))); +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R126i.x))); +PS1i = R124i.x; +// 16 +backupReg0i = R125i.x; +backupReg1i = R126i.y; +backupReg2i = R126i.z; +backupReg3i = R127i.w; +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x), intBitsToFloat(backupReg0i))); +R125i.x = clampFI32(R125i.x); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.w))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(R124i.y))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg3i), intBitsToFloat(R125i.z))); +R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x), intBitsToFloat(R125i.w))); +R8i.x = clampFI32(R8i.x); +PS0i = R8i.x; +// 17 +backupReg0i = R127i.x; +backupReg1i = R9i.y; +backupReg2i = R127i.z; +R127i.x = floatBitsToInt(floor(intBitsToFloat(R127i.y))); +R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 4.0); +R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.x)) + intBitsToFloat(R124i.x))); +R127i.z = ((intBitsToFloat(backupReg1i) > 0.5)?int(0xFFFFFFFF):int(0x0)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x), intBitsToFloat(R126i.w))); +PV1i.w = clampFI32(PV1i.w); +R127i.y = floatBitsToInt(float(backupReg2i)); +PS1i = R127i.y; +// 18 +backupReg0i = R125i.x; +backupReg1i = R126i.y; +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R124i.y)) + intBitsToFloat(R126i.z))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(R8i.x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(backupReg0i))); +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R125i.z)) + intBitsToFloat(R127i.w))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z), intBitsToFloat(PV1i.w))); +PS0i = R127i.w; +// 19 +backupReg0i = R127i.z; +backupReg1i = R9i.y; +R8i.x = floatBitsToInt(intBitsToFloat(R127i.x) + 2.0); +R9i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(0x42c20000)); +R127i.z = uf_remappedPS[4].z; +R125i.w = ((backupReg0i == 0)?(0x3d008081):(0x3d20a0a1)); +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg1i))); +PS1i = R5i.x; +// 20 +R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.x)),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(R0i.x))); +R1i.x = clampFI32(R1i.x); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(R126i.y)) + intBitsToFloat(R125i.x))); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(R127i.w)) + intBitsToFloat(R126i.w))); +R7i.w = floatBitsToInt(1.0); +R1i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.y)),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(R0i.y))); +R1i.y = clampFI32(R1i.y); +PS0i = R1i.y; +// 21 +R7i.x = R125i.w; +R7i.y = R127i.z; +R1i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.z)),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(R0i.z))); +R1i.z = clampFI32(R1i.z); +R5i.w = 0x3f800000; +R0i.x = floatBitsToInt((intBitsToFloat(R3i.x) * 0.5 + 0.5)); +PS1i = R0i.x; +// 0 +R0i.y = floatBitsToInt((intBitsToFloat(R3i.y) * 0.5 + 0.5)); +R0i.z = floatBitsToInt((intBitsToFloat(R3i.z) * 0.5 + 0.5)); +R0i.w = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(0x3b808081)); +R1i.w = floatBitsToInt(intBitsToFloat(R9i.y) * intBitsToFloat(0x3b808081)); +PS0i = R1i.w; +// 1 +backupReg0i = R5i.x; +backupReg1i = R5i.y; +backupReg2i = R5i.z; +backupReg3i = R5i.w; +R5i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); +R5i.w = backupReg3i; +// 2 +R4i.xyz = ivec3(R0i.x,R0i.y,R0i.z); +R4i.w = R0i.w; +// 3 +R3i.xyz = ivec3(R1i.x,R1i.y,R1i.z); +R3i.w = R1i.w; +// 4 +R2i.xyz = ivec3(R7i.x,R7i.y,R7i.z); +R2i.w = R7i.w; +// export +passPixelColor0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +passPixelColor1 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); +passPixelColor3 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +passPixelColor5 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); +} diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/rules.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/rules.txt new file mode 100644 index 00000000..4126eda3 --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Guardian_Turret_Skywatcher/rules.txt @@ -0,0 +1,55 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Guardian Turret & Skywatcher +path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Glow Color/Guardian Turret & Skywatcher" +description = Change Guardian Turret, Skywatcher's color. Originally it depends on whether it's corrupted by malice or not. +version = 3 + +[Preset] +name = Malice Red +$R = 0.85 +$G = 0.029 +$B = 0.15 +$L_f = 1.0 + +[Preset] +name = Guardian Yellow +$R = 1.0 +$G = 0.2 +$B = 0.059 +$L_f = 1.0 + +[Preset] +name = Guardian weapon Yellow +$R = 1.0 +$G = 0.2 +$B = 0.0 +$L_f = 1.0 + +[Preset] +name = Ancient Orange +$R = 1.0 +$G = 0.2 +$B = 0.0006 +$L_f = 1.0 + +[Preset] +name = Ancient weapon Orange +$R = 1.0 +$G = 0.15 +$B = 0.05 +$L_f = 1.0 + +[Preset] +name = Energy Blue +$R = 0.03 +$G = 0.25 +$B = 1.0 +$L_f = 1.0 + +[Preset] +name = Custom (Edit in rules.txt) +$R = 0.000 +$G = 0.000 +$B = 0.000 +$L_f = 1.0 diff --git a/Mods/BreathOfTheWild_ChangeAncientGlowColor/Readme.txt b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Readme.txt new file mode 100644 index 00000000..dc61f66a --- /dev/null +++ b/Mods/BreathOfTheWild_ChangeAncientGlowColor/Readme.txt @@ -0,0 +1,11 @@ +# Top half of the Guardian weapon is drawed with Scout shader while the bottom half is Skywatcher shader. + +# Generally color is between 0-1 which is then multiplied by brightness (So Guardian can turn on/off) +# Guardian 50 (changing), Ancient armor 20, Ancient bow about 11 +# Exception: Ancient sword, shield (20.0, 3.0, 1.0) use un-normalized color, with brightness being 1.0 +# Equals to (1.0, 0.15, 0.05) with brightness 20 + +# Game control color & brightness with a uniform, so they can vary between objects (and through time) drawn with the same shader. It's hard to do this in Gfx pack. +# In theory You can add if condition to check for game's uniform value so you can change the color of a specific object without affecting others. + +# Try converting custom color from gamma encoded to linear (color/255)^2.2 if it look slightly off in game. diff --git a/Mods/BreathOfTheWild_Pro+/37b9100c1310d3bb_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/37b9100c1310d3bb_0000000000000000_vs.txt similarity index 100% rename from Mods/BreathOfTheWild_Pro+/37b9100c1310d3bb_0000000000000000_vs.txt rename to Mods/BreathOfTheWild_HUDRemover/37b9100c1310d3bb_0000000000000000_vs.txt diff --git a/Mods/BreathOfTheWild_Pro+/4d58e6f0906ff5cf_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/4d58e6f0906ff5cf_0000000000000000_vs.txt similarity index 100% rename from Mods/BreathOfTheWild_Pro+/4d58e6f0906ff5cf_0000000000000000_vs.txt rename to Mods/BreathOfTheWild_HUDRemover/4d58e6f0906ff5cf_0000000000000000_vs.txt diff --git a/Mods/BreathOfTheWild_Pro+/75faf095372864b1_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/75faf095372864b1_0000000000000000_vs.txt similarity index 100% rename from Mods/BreathOfTheWild_Pro+/75faf095372864b1_0000000000000000_vs.txt rename to Mods/BreathOfTheWild_HUDRemover/75faf095372864b1_0000000000000000_vs.txt diff --git a/Mods/BreathOfTheWild_Pro+/b88c6020a8b17332_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/b88c6020a8b17332_0000000000000000_vs.txt similarity index 100% rename from Mods/BreathOfTheWild_Pro+/b88c6020a8b17332_0000000000000000_vs.txt rename to Mods/BreathOfTheWild_HUDRemover/b88c6020a8b17332_0000000000000000_vs.txt diff --git a/Mods/BreathOfTheWild_Pro+/f56fcbd319ceba00_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/f56fcbd319ceba00_0000000000000000_vs.txt similarity index 100% rename from Mods/BreathOfTheWild_Pro+/f56fcbd319ceba00_0000000000000000_vs.txt rename to Mods/BreathOfTheWild_HUDRemover/f56fcbd319ceba00_0000000000000000_vs.txt diff --git a/Mods/BreathOfTheWild_Pro+/f7ba548c1fefe24a_0000000000000000_vs.txt b/Mods/BreathOfTheWild_HUDRemover/f7ba548c1fefe24a_0000000000000000_vs.txt similarity index 100% rename from Mods/BreathOfTheWild_Pro+/f7ba548c1fefe24a_0000000000000000_vs.txt rename to Mods/BreathOfTheWild_HUDRemover/f7ba548c1fefe24a_0000000000000000_vs.txt diff --git a/Mods/BreathOfTheWild_Pro+/rules.txt b/Mods/BreathOfTheWild_HUDRemover/rules.txt similarity index 74% rename from Mods/BreathOfTheWild_Pro+/rules.txt rename to Mods/BreathOfTheWild_HUDRemover/rules.txt index 151dfc57..e18a1d5b 100644 --- a/Mods/BreathOfTheWild_Pro+/rules.txt +++ b/Mods/BreathOfTheWild_HUDRemover/rules.txt @@ -1,8 +1,8 @@ [Definition] titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "Pro+ HUD" -path = "The Legend of Zelda: Breath of the Wild/Mods/Pro+ HUD" -description = Removes the rest of the HUD that isn't removed by Pro. +name = "Remove all HUD elements" +path = "The Legend of Zelda: Breath of the Wild/Mods/HUD Remover (Pro HUD+)" +description = Hides the rest of the HUD that isn't removed by the Pro mod for e.g. screenshots. version = 3 [TextureRedefine] # Disable Hearts diff --git a/Mods/BuddyandMe_60FPS/rules.txt b/Mods/BuddyandMe_60FPS/rules.txt index ec93fe41..b0b520ad 100644 --- a/Mods/BuddyandMe_60FPS/rules.txt +++ b/Mods/BuddyandMe_60FPS/rules.txt @@ -1,7 +1,7 @@ [Definition] titleIds = 00050000101ECF00,00050000101F4A00 name = 60FPS -path = "Buddy and Me/Mods/60FPS" +path = "Buddy & Me/Mods/60FPS" description = Important: This patches the gameplay to be in 60FPS. Getting under 60FPS will slow down the game's speed. version = 3 diff --git a/Mods/CitizensOfEarth_60fps/patches.txt b/Mods/CitizensOfEarth_60fps/patches.txt index 4bdfe606..06b080b9 100644 --- a/Mods/CitizensOfEarth_60fps/patches.txt +++ b/Mods/CitizensOfEarth_60fps/patches.txt @@ -5,16 +5,13 @@ moduleMatches = 0xB87B357B _FrameRate = 0x100A151C # Code Cave - CodeCaveSize = 0x0c # = Last used instruction + 0x04 (4xINSTRUCTIONS in HEX) -# Set 60fps - +# Load 60 into f0 register _60fps = 0x00000000 0x00000000 = lis r12,_FrameRate@h 0x00000004 = lfs f0,_FrameRate@l(r12) 0x00000008 = blr - 0x021de6c8 = bla _60fps diff --git a/Mods/DeusExHumanRevolution_60FPS/patches.txt b/Mods/DeusExHumanRevolution_60FPS/patches.txt index 3838b89c..8df789ee 100644 --- a/Mods/DeusExHumanRevolution_60FPS/patches.txt +++ b/Mods/DeusExHumanRevolution_60FPS/patches.txt @@ -1,4 +1,4 @@ -[deusex60Ver0] +[DeusEx60Ver0] moduleMatches = 0x4C83AF19 0x0234EA10 = li r3,1 #GX2SetSwapInterval diff --git a/Mods/FatalFrame_60FPS/patches.txt b/Mods/FatalFrame_60FPS/patches.txt index 54d44acf..6ed6dfdd 100644 --- a/Mods/FatalFrame_60FPS/patches.txt +++ b/Mods/FatalFrame_60FPS/patches.txt @@ -5,7 +5,7 @@ moduleMatches = 0xE93B31F6 CodeCaveSize = 0x14 # = Last used instruction + 0x04 (4xINSTRUCTIONS in HEX) -# Set 60fps +# Set 60fps _60fps = 0x00000000 diff --git a/Mods/SonicLostWorld_60FPSMulti/patches.txt b/Mods/SonicLostWorld_60FPSMultiplayer/patches.txt similarity index 100% rename from Mods/SonicLostWorld_60FPSMulti/patches.txt rename to Mods/SonicLostWorld_60FPSMultiplayer/patches.txt diff --git a/Mods/SonicLostWorld_60FPSMulti/rules.txt b/Mods/SonicLostWorld_60FPSMultiplayer/rules.txt similarity index 100% rename from Mods/SonicLostWorld_60FPSMulti/rules.txt rename to Mods/SonicLostWorld_60FPSMultiplayer/rules.txt diff --git a/Resolutions/BreathOfTheWild_Resolution/rules.txt b/Resolutions/BreathOfTheWild_Resolution/rules.txt index 010b3d69..454b9d23 100644 --- a/Resolutions/BreathOfTheWild_Resolution/rules.txt +++ b/Resolutions/BreathOfTheWild_Resolution/rules.txt @@ -1,719 +1,826 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = Resolution -path = "The Legend of Zelda: Breath of the Wild/Graphics/Resolution" -description = Changes the games resolution. You cannot change resolutions on the fly. -version = 3 - -[Preset] -name = 1280x720 (16:9) (Default) -$width = 1280 -$height = 720 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -# Performance - -[Preset] -name = 320x180 (16:9) -$width = 320 -$height = 180 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 640x360 (16:9) -$width = 640 -$height = 360 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 960x540 (16:9) -$width = 960 -$height = 540 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -# Common HD Resolutions - -[Preset] -name = 1600x900 (16:9) -$width = 1600 -$height = 900 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 1920x1080 (16:9) -$width = 1920 -$height = 1080 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 2560x1440 (16:9) -$width = 2560 -$height = 1440 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 3200x1800 (16:9) -$width = 3200 -$height = 1800 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 3840x2160 (16:9) -$width = 3840 -$height = 2160 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 5120x2880 (16:9) -$width = 5120 -$height = 2880 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 10240x5760 (16:9) -$width = 10240 -$height = 5760 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -# Common Ultrawide Resolutions - -[Preset] -name = ----------------------------------- -$width = 2560 -$height = 1080 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 2560x1080 (21:9) -$width = 2560 -$height = 1080 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 3440x1440 (21:9) -$width = 3440 -$height = 1440 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 3840x1600 (21:10) -$width = 3840 -$height = 1600 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 4300x1800 (21:9) -$width = 4300 -$height = 1800 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -# Common 16:10 Resolutions - -[Preset] -name = ----------------------------------- -$width = 1440 -$height = 900 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 1440x900 (16:10) -$width = 1440 -$height = 900 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 1680x1050 (16:10) -$width = 1680 -$height = 1050 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -[Preset] -name = 1920x1200 (16:10) -$width = 1920 -$height = 1200 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -[Preset] -name = 2560x1600 (16:10) -$width = 2560 -$height = 1600 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -[Preset] -name = 2880x1800 (16:10) -$width = 2880 -$height = 1800 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 3840x2400 (16:10) -$width = 3840 -$height = 2400 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -[Preset] -name = 5120x3200 (16:10) -$width = 5120 -$height = 3200 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -# Other Uncommon Resolutions - -[Preset] -name = ----------------------------------- -$width = 640 -$height = 480 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -[Preset] -name = 640x480 (4:3) -$width = 640 -$height = 480 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -[Preset] -name = 1280x960 (4:3) -$width = 1280 -$height = 960 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -[Preset] -name = 1920x1440 (4:3) -$width = 1920 -$height = 1440 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 640x512 (5:4) -$width = 640 -$height = 512 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -[Preset] -name = 1280x1024 (5:4) -$width = 1280 -$height = 1024 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -[Preset] -name = 1920x1536 (5:4) -$width = 1920 -$height = 1536 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 1 - -[Preset] -name = 5760x1080 (48:9) -$width = 5760 -$height = 1080 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 8640x1620 (48:9) -$width = 8640 -$height = 1620 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 14400x2700 (48:9) -$width = 14400 -$height = 2700 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -[Preset] -name = 21600x4050 (48:9) -$width = 21600 -$height = 4050 -$gameWidth = 1280 -$gameHeight = 720 -$heightfix = 0 - -# All 720p textures: -# - 0x001=World Lighting Red8 -# - 0x005=Link and Objects Depth -# - 0x007=World Lighting Red-Green Texture -# - 0x019=Menu Interface/GUI -# - 0x01a=Normals -# - 0x41a=Geometry rendering -# - 0x806=Wind/Fog -# - 0x80e=Depth stencil buffer -# - 0x816=Weapon and Objects Bloom -# - 0x820=Field Fog - -# Depth/Geometry/Shading Rendering -[TextureRedefine] -width = 1280 -height = 720 -formats = 0x001,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806,0x816,0x820 -formatsExcluded = 0x008 # Game Load Opening Background Image -tileModesExcluded = 0x001 # For Video Playback -overwriteWidth = ($width/$gameWidth)* 1280 -overwriteHeight = ($height/$gameHeight)* 720 - -# Gamepad - background -[TextureRedefine] -width = 864 -height = 480 -formats = 0x019 -formatsExcluded = 0x034 # Exclude 0x034 which is used for large album thumbnails -overwriteWidth = ($width/$gameWidth)* 864 -overwriteHeight = ($height/$gameHeight)* 480 - -# Gamepad - game render size -[TextureRedefine] -width = 854 -height = 480 -formats = 0x019 -formatsExcluded = 0x034 # Exclude 0x034 which is used for large album thumbnails -overwriteWidth = ($width/$gameWidth)* 854 -overwriteHeight = ($height/$gameHeight)* 480 - -# All 1/2, 1/4 textures: -# - 0x001=World Lighting - Red -# - 0x005=Depth for Link and Objects -# - 0x019=GUI -# - 0x01a=Blurs and Normals -# - 0x80e=World and Objects Depth 32bit -# - 0x806=Wind/Fog -# - 0x816=World & Weapon Bloom -# - 0x820=Fog - -# Required 1/2 resolutions -[TextureRedefine] -width = 640 -height = 368 -formats = 0x001,0x005,0x007,0x019,0x01a,0x80e,0x806,0x816,0x820,0x41a -formatsExcluded = 0x431 # Exclude 0x431 which is used for adventure log images -overwriteWidth = ($width/$gameWidth) * 640 -overwriteHeight = (($height/$gameHeight) * 368) + $heightfix - -# Required 1/2 resolutions -[TextureRedefine] -width = 640 -height = 360 -formats = 0x001,0x005,0x007,0x019,0x01a,0x80e,0x806,0x816,0x820,0x41a -formatsExcluded = 0x431 -tileModesExcluded = 0x001 # For Video Playback -overwriteWidth = ($width/$gameWidth) * 640 -overwriteHeight = ($height/$gameHeight) * 360 - -# Required 1/3 resolutions -[TextureRedefine] -width = 384 -height = 192 -formats = 0x001 # World lighting - Red -overwriteWidth = ($width/$gameWidth) * 384 -overwriteHeight = ($height/$gameHeight) * 192 - -# Required 1/4 resolutions -[TextureRedefine] -width = 320 -height = 192 -formats = 0x001,0x005,0x007,0x019,0x01a,0x80e,0x816,0x806,0x820,0x41a -overwriteWidth = ($width/$gameWidth) * 320 -overwriteHeight = ($height/$gameHeight) * 192 - -# Required 1/4 resolutions -[TextureRedefine] -width = 320 -height = 180 -formats = 0x001,0x005,0x007,0x019,0x01a,0x80e,0x816,0x806,0x820,0x41a -overwriteWidth = ($width/$gameWidth) * 320 -overwriteHeight = ($height/$gameHeight) * 180 - -# Required 1/6 resolution -[TextureRedefine] -width = 192 -height = 96 -formats = 0x007,0x806 # Used for Fog -overwriteWidth = ($width/$gameWidth) * 192 -overwriteHeight = ($height/$gameHeight) * 96 - -# Required 1/8 resolution -[TextureRedefine] -width = 160 -height = 96 -formats = 0x001,0x005,0x007,0x806,0x80e,0x816 # Used for Fog/Depth/Bloom -overwriteWidth = ($width/$gameWidth) * 160 -overwriteHeight = ($height/$gameHeight) * 96 - -# Required 1/8 resolution -[TextureRedefine] -width = 160 -height = 90 -formats = 0x001,0x005,0x007,0x806,0x80e,0x816 -overwriteWidth = ($width/$gameWidth) * 160 -overwriteHeight = ($height/$gameHeight) * 90 - -# Required 1/10 resolution -[TextureRedefine] -width = 128 -height = 80 -formats = 0x005,0x007,0x019,0x01a,0x80e,0x816,0x806,0x820,0x41a -overwriteWidth = ($width/$gameWidth) * 128 -overwriteHeight = ($height/$gameHeight) * 80 - -# Required 1/10 resolution -[TextureRedefine] -width = 120 -height = 75 -formats = 0x005,0x007,0x019,0x01a,0x80e,0x816,0x806,0x820,0x41a -overwriteWidth = ($width/$gameWidth) * 120 -overwriteHeight = ($height/$gameHeight) * 75 - -# Required Fogs and Dust -[TextureRedefine] -width = 128 -height = 48 -formats = 0x806,0x816,0x005,0x007,0x820 -overwriteWidth = ($width/$gameWidth) * 128 -overwriteHeight = ($height/$gameHeight) * 48 - -# Required 1/13 resolution -[TextureRedefine] -width = 96 -height = 48 -formats = 0x816,0x80e # Used for bloom/depth -overwriteWidth = ($width/$gameWidth) * 96 -overwriteHeight = ($height/$gameHeight) * 48 - -# Required 1/16 resolution -[TextureRedefine] -width = 80 -height = 45 -formats = 0x816,0x806,0x007 # Used for bloom/fog -overwriteWidth = ($width/$gameWidth) * 80 -overwriteHeight = ($height/$gameHeight) * 45 - -# Required 1/16 resolution -[TextureRedefine] -width = 64 -height = 64 -formats = 0x80e # Used for depth -overwriteWidth = ($width/$gameWidth) * 64 -overwriteHeight = ($height/$gameHeight) * 64 - -# 0x019 - GUI Requirements - -[TextureRedefine] -width = 128 -height = 720 -formats = 0x019 -overwriteWidth = ($width/$gameWidth) * 128 -overwriteHeight = ($height/$gameHeight) * 720 - -[TextureRedefine] -width = 110 -height = 720 -formats = 0x019 -overwriteWidth = ($width/$gameWidth) * 110 -overwriteHeight = ($height/$gameHeight) * 720 - -# 0x816 - Blooms & Effects - -# Heat wave effect -[TextureRedefine] -width = 1024 -height = 512 -depth = 1 -formats = 0x816 -overwriteWidth = ($width/$gameWidth) * 1024 -overwriteHeight = ($height/$gameHeight) * 512 - -# Sheikah slate scope -[TextureRedefine] -width = 512 -height = 256 -depth = 1 -formats = 0x816 -overwriteWidth = ($width/$gameWidth) * 512 -overwriteHeight = ($height/$gameHeight) * 256 - -# World bloom - -[TextureRedefine] -width = 256 -height = 128 -formats = 0x816 -tilemodes = 4 -overwriteWidth = ($width/$gameWidth) * 256 -overwriteHeight = ($height/$gameHeight) * 128 - -[TextureRedefine] -width = 128 -height = 64 -formats = 0x816 -tilemodes = 4 -overwriteWidth = ($width/$gameWidth) * 128 -overwriteHeight = ($height/$gameHeight) * 64 - -[TextureRedefine] -width = 64 -height = 32 -formats = 0x816 -tilemodes = 4 -overwriteWidth = ($width/$gameWidth) * 64 -overwriteHeight = ($height/$gameHeight) * 32 - -[TextureRedefine] -width = 32 -height = 16 -depth = 1 -formats = 0x816 -tilemodes = 4 -overwriteWidth = ($width/$gameWidth) * 32 -overwriteHeight = ($height/$gameHeight) * 16 - -[TextureRedefine] -width = 24 -height = 16 -depth = 1 -formats = 0x816 -tilemodes = 4 -overwriteWidth = ($width/$gameWidth) * 24 -overwriteHeight = ($height/$gameHeight) * 16 - -[TextureRedefine] -width = 40 -height = 22 -depth = 1 -formats = 0x816 -tilemodes = 4 -overwriteWidth = ($width/$gameWidth) * 40 -overwriteHeight = ($height/$gameHeight) * 22 - -[TextureRedefine] -width = 20 -height = 11 -depth = 1 -formats = 0x816 -tilemodes = 4 -overwriteWidth = ($width/$gameWidth) * 20 -overwriteHeight = ($height/$gameHeight) * 11 - -# Great Fairy / Stable / Stores Viewports - -# Required, Great Fairy Full Resolution Viewports -[TextureRedefine] -width = 960 -height = 540 -formats = 0x816,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806 -tileModesExcluded = 0x001 # For Video Playback -overwriteWidth = ($width/$gameWidth) * 960 -overwriteHeight = ($height/$gameHeight) * 540 - -# Required, Great Fairy Full Resolution Viewports -[TextureRedefine] -width = 960 -height = 544 -formats = 0x816,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806 -overwriteWidth = ($width/$gameWidth) * 960 -overwriteHeight = ($height/$gameHeight) * 544 - -# Required Great Fairy Red Viewport and Depth port of the same size -[TextureRedefine] -width = 512 -height = 272 -depth = 1 -formats = 0x001,0x005 # Red Viewport / Depth -overwriteWidth = ($width/$gameWidth) * 512 -overwriteHeight = ($height/$gameHeight) * 272 - -# Required, Great Fairy Half Resolution Viewports -[TextureRedefine] -width = 480 -height = 272 -formats = 0x816,0x01a,0x820,0x001,0x80e,0x820 -overwriteWidth = ($width/$gameWidth) * 480 -overwriteHeight = ($height/$gameHeight) * 272 - -# Required, Great Fairy Half Resolution Viewports -[TextureRedefine] -width = 480 -height = 270 -formats = 0x816,0x01a,0x820,0x001,0x80e,0x820 -overwriteWidth = ($width/$gameWidth) * 480 -overwriteHeight = ($height/$gameHeight) * 270 - -# Required - Great Fairy background heatwave effect -[TextureRedefine] -width = 512 -height = 512 -depth = 1 -formats = 0x816 -overwriteWidth = ($width/$gameWidth) * 512 -overwriteHeight = ($height/$gameHeight) * 512 - -# Select-Menu Map -[TextureRedefine] -width = 1504 -height = 720 -formats = 0x019 -overwriteWidth = ($width/$gameWidth) * 1504 -overwriteHeight = ($height/$gameHeight) * 720 - -# Select-Menu Map -[TextureRedefine] -width = 1500 -height = 720 -formats = 0x019 -overwriteWidth = ($width/$gameWidth) * 1500 -overwriteHeight = ($height/$gameHeight) * 720 - -# Select-Menu Map Overlay -[TextureRedefine] -width = 1280 -height = 608 -formats = 0x019 -overwriteWidth = ($width/$gameWidth) * 1280 -overwriteHeight = ($height/$gameHeight) * 608 - -# Mini-map GUI -[TextureRedefine] -width = 192 -height = 192 -formats = 0x019 -overwriteWidth = ($width/$gameWidth) * 192 -overwriteHeight = ($height/$gameHeight) * 192 - -# Red Viewport -[TextureRedefine] -width = 1920 -height = 912 -formats = 0x001 -overwriteWidth = ($width/$gameWidth) * 1920 -overwriteHeight = ($height/$gameHeight) * 912 - -# 3D Map Ganons Castle & Beasts -[TextureRedefine] -width = 512 -height = 288 -formats = 0x01a,0x80e -overwriteWidth = ($width/$gameWidth) * 512 -overwriteHeight = ($height/$gameHeight) * 288 - -# Improve Color Banding for GUI Format 0x019 -# 0x019 - R10_G10_B10_A2_UNORM ------> 0x01f - R16_G16_B16_A16_UNORM - -[TextureRedefine] -width = 1280 -height = 720 -formats = 0x019 -overwriteFormat = 0x01f -overwriteWidth = ($width/$gameWidth) * 1280 -overwriteHeight = ($height/$gameHeight) * 720 - -[TextureRedefine] -width = 640 -height = 368 -formats = 0x019 -overwriteFormat = 0x01f -overwriteWidth = ($width/$gameWidth) * 640 -overwriteHeight = (($height/$gameHeight) * 368 ) + $heightfix - -[TextureRedefine] -width = 640 -height = 360 -formats = 0x019 -overwriteFormat = 0x01f -overwriteWidth = ($width/$gameWidth) * 640 -overwriteHeight = ($height/$gameHeight) * 360 - -[TextureRedefine] -width = 320 -height = 192 -formats = 0x019 -overwriteFormat = 0x01f -overwriteWidth = ($width/$gameWidth) * 320 -overwriteHeight = ($height/$gameHeight) * 192 - -[TextureRedefine] -width = 320 -height = 180 -formats = 0x019 -overwriteFormat = 0x01f -overwriteWidth = ($width/$gameWidth) * 320 -overwriteHeight = ($height/$gameHeight) * 180 - -[TextureRedefine] -width = 128 -height = 720 -formats = 0x019 -overwriteFormat = 0x01f -overwriteWidth = ($width/$gameWidth) * 128 -overwriteHeight = ($height/$gameHeight) * 720 - -[TextureRedefine] -width = 110 -height = 720 -formats = 0x019 -overwriteFormat = 0x01f -overwriteWidth = ($width/$gameWidth) * 110 -overwriteHeight = ($height/$gameHeight) * 720 +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Resolution +path = "The Legend of Zelda: Breath of the Wild/Graphics/Resolution" +description = Changes the games resolution. You cannot change resolutions on the fly. +version = 3 + +[Preset] +name = 1280x720 (16:9) (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +# Performance + +[Preset] +name = 320x180 (16:9) +$width = 320 +$height = 180 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 640x360 (16:9) +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 960x540 (16:9) +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +# Common HD Resolutions + +[Preset] +name = 1600x900 (16:9) +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 1920x1080 (16:9) +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 2560x1440 (16:9) +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 3200x1800 (16:9) +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 3840x2160 (16:9) +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 5120x2880 (16:9) +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 10240x5760 (16:9) +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +# Common Ultrawide Resolutions + +[Preset] +name = ----------------------------------- +$width = 2560 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 2560x1080 (21:9) +$width = 2560 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 3440x1440 (21:9) +$width = 3440 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 3840x1600 (21:10) +$width = 3840 +$height = 1600 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 4300x1800 (21:9) +$width = 4300 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +# Common 16:10 Resolutions + +[Preset] +name = ----------------------------------- +$width = 1440 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 1440x900 (16:10) +$width = 1440 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 1680x1050 (16:10) +$width = 1680 +$height = 1050 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +[Preset] +name = 1920x1200 (16:10) +$width = 1920 +$height = 1200 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +[Preset] +name = 2560x1600 (16:10) +$width = 2560 +$height = 1600 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +[Preset] +name = 2880x1800 (16:10) +$width = 2880 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 3840x2400 (16:10) +$width = 3840 +$height = 2400 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +[Preset] +name = 5120x3200 (16:10) +$width = 5120 +$height = 3200 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +# Other Uncommon Resolutions + +[Preset] +name = ----------------------------------- +$width = 640 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +[Preset] +name = 640x480 (4:3) +$width = 640 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +[Preset] +name = 1280x960 (4:3) +$width = 1280 +$height = 960 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +[Preset] +name = 1920x1440 (4:3) +$width = 1920 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 640x512 (5:4) +$width = 640 +$height = 512 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +[Preset] +name = 1280x1024 (5:4) +$width = 1280 +$height = 1024 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +[Preset] +name = 1920x1536 (5:4) +$width = 1920 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 1 + +[Preset] +name = 5760x1080 (48:9) +$width = 5760 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 8640x1620 (48:9) +$width = 8640 +$height = 1620 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 14400x2700 (48:9) +$width = 14400 +$height = 2700 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + +[Preset] +name = 21600x4050 (48:9) +$width = 21600 +$height = 4050 +$gameWidth = 1280 +$gameHeight = 720 +$heightfix = 0 + + +# All 720p textures: +# - 0x001=World Lighting Red8 +# - 0x005=Link and Objects Depth +# - 0x007=World Lighting Red-Green Texture +# - 0x019=Menu Interface/GUI +# - 0x01a=Normals +# - 0x41a=Geometry rendering +# - 0x806=Wind/Fog +# - 0x80e=Depth stencil buffer +# - 0x816=Weapon and Objects Bloom +# - 0x820=Field Fog + +# Depth/Geometry/Shading Rendering +[TextureRedefine] +width = 1280 +height = 720 +formats = 0x001,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806,0x816,0x820 +# formatsExcluded = 0x008 # Game Load Opening Background Image +tileModesExcluded = 0x001 # For Video Playback +overwriteWidth = ($width/$gameWidth)* 1280 +overwriteHeight = ($height/$gameHeight)* 720 + +# Gamepad - background +[TextureRedefine] +width = 864 +height = 480 +formats = 0x019 +# formatsExcluded = 0x034 # Exclude 0x034 which is used for large album thumbnails +overwriteWidth = ($width/$gameWidth)* 864 +overwriteHeight = ($height/$gameHeight)* 480 + +# Gamepad - game render size +[TextureRedefine] +width = 854 +height = 480 +formats = 0x019 +# formatsExcluded = 0x034 # Exclude 0x034 which is used for large album thumbnails +overwriteWidth = ($width/$gameWidth)* 854 +overwriteHeight = ($height/$gameHeight)* 480 + +# All 1/2, 1/4 textures: +# - 0x001=World Lighting - Red +# - 0x005=Depth for Link and Objects +# - 0x019=GUI +# - 0x01a=Blurs and Normals +# - 0x80e=World and Objects Depth 32bit +# - 0x806=Wind/Fog +# - 0x816=World & Weapon Bloom +# - 0x820=Fog + +# Required 1/2 resolutions +[TextureRedefine] +width = 640 +height = 368 +formats = 0x001,0x005,0x007,0x019,0x01a,0x80e,0x806,0x816,0x820,0x41a +# formatsExcluded = 0x431 # Exclude 0x431 which is used for adventure log images +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = (($height/$gameHeight) * 368) + $heightfix + +# Required 1/2 resolutions +[TextureRedefine] +width = 640 +height = 360 +formats = 0x001,0x005,0x007,0x019,0x01a,0x80e,0x806,0x816,0x820,0x41a +# formatsExcluded = 0x431 +tileModesExcluded = 0x001 # For Video Playback +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 + +# Required 1/3 resolutions +[TextureRedefine] +width = 384 +height = 192 +formats = 0x001 # World lighting - Red +overwriteWidth = ($width/$gameWidth) * 384 +overwriteHeight = ($height/$gameHeight) * 192 + +# Required 1/4 resolutions +[TextureRedefine] +width = 320 +height = 192 +formats = 0x001,0x005,0x007,0x019,0x01a,0x80e,0x816,0x806,0x820,0x41a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +# Required 1/4 resolutions +[TextureRedefine] +width = 320 +height = 180 +formats = 0x001,0x005,0x007,0x019,0x01a,0x80e,0x816,0x806,0x820,0x41a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + +# Required 1/6 resolution +[TextureRedefine] +width = 192 +height = 96 +formats = 0x007,0x806 # Used for Fog +overwriteWidth = ($width/$gameWidth) * 192 +overwriteHeight = ($height/$gameHeight) * 96 + +# Required 1/8 resolution +[TextureRedefine] +width = 160 +height = 96 +formats = 0x001,0x005,0x007,0x806,0x80e,0x816 # Used for Fog/Depth/Bloom +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 96 + +# Required 1/8 resolution +[TextureRedefine] +width = 160 +height = 90 +formats = 0x001,0x005,0x007,0x806,0x80e,0x816 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 90 + +# 1/10 resolution; Break 960x540 background: ambient light, bloom +# +# [TextureRedefine] +# width = 128 +# height = 80 +# formats = 0x005,0x007,0x019,0x01a,0x80e,0x816,0x806,0x820,0x41a +# overwriteWidth = ($width/$gameWidth) * 128 +# overwriteHeight = ($height/$gameHeight) * 80 +# +# [TextureRedefine] +# width = 120 +# height = 75 +# formats = 0x005,0x007,0x019,0x01a,0x80e,0x816,0x806,0x820,0x41a +# overwriteWidth = ($width/$gameWidth) * 120 +# overwriteHeight = ($height/$gameHeight) * 75 + +# Required Fogs and Dust +[TextureRedefine] +width = 128 +height = 48 +formats = 0x806,0x816,0x005,0x007,0x820 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 48 + +# Required 1/13 resolution +[TextureRedefine] +width = 96 +height = 48 +formats = 0x816,0x80e # Used for bloom/depth +overwriteWidth = ($width/$gameWidth) * 96 +overwriteHeight = ($height/$gameHeight) * 48 + +# Required 1/16 resolution +[TextureRedefine] +width = 80 +height = 45 +formats = 0x816,0x806,0x007 # Used for bloom/fog +overwriteWidth = ($width/$gameWidth) * 80 +overwriteHeight = ($height/$gameHeight) * 45 + +# Required 1/16 resolution +[TextureRedefine] +width = 64 +height = 64 +formats = 0x80e # Used for depth +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 64 + +# 0x019 - GUI Requirements + +[TextureRedefine] +width = 128 +height = 720 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] +width = 110 +height = 720 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 110 +overwriteHeight = ($height/$gameHeight) * 720 + +# 0x816 - Blooms & Effects + +# Heat wave effect +[TextureRedefine] +width = 1024 +height = 512 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 1024 +overwriteHeight = ($height/$gameHeight) * 512 + +# Sheikah slate scope +[TextureRedefine] +width = 512 +height = 256 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 256 + +# World bloom + +[TextureRedefine] +width = 256 +height = 128 +formats = 0x816 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 128 + +[TextureRedefine] +width = 128 +height = 64 +formats = 0x816 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 64 + +[TextureRedefine] +width = 64 +height = 32 +formats = 0x816 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 32 + +[TextureRedefine] # catches cubemap! 32x32, 16x16 +width = 32 +height = 16 +depth = 1 +formats = 0x816 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 32 +overwriteHeight = ($height/$gameHeight) * 16 + +[TextureRedefine] +width = 24 +height = 16 +depth = 1 +formats = 0x816 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 24 +overwriteHeight = ($height/$gameHeight) * 16 + +[TextureRedefine] +width = 40 +height = 22 +depth = 1 +formats = 0x816 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 40 +overwriteHeight = ($height/$gameHeight) * 22 + +[TextureRedefine] +width = 20 +height = 11 +depth = 1 +formats = 0x816 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 20 +overwriteHeight = ($height/$gameHeight) * 11 + +# Great Fairy / Stable / Stores Viewports + +# Required, Great Fairy Full Resolution Viewports +[TextureRedefine] +width = 960 +height = 540 +formats = 0x816,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806 +tileModesExcluded = 0x001 # For Video Playback +overwriteWidth = ($width/$gameWidth) * 960 +overwriteHeight = ($height/$gameHeight) * 540 + +# Required, Great Fairy Full Resolution Viewports +[TextureRedefine] +width = 960 +height = 544 +formats = 0x816,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806 +overwriteWidth = ($width/$gameWidth) * 960 +overwriteHeight = ($height/$gameHeight) * 544 + +# Required Great Fairy Red Viewport and Depth port of the same size +[TextureRedefine] +width = 512 +height = 272 +depth = 1 +formats = 0x001,0x005 # Red Viewport / Depth +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 272 + +# Required, Great Fairy Half Resolution Viewports +[TextureRedefine] +width = 480 +height = 272 +formats = 0x816,0x01a,0x820,0x001,0x80e,0x820 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 272 + +# Required, Great Fairy Half Resolution Viewports +[TextureRedefine] +width = 480 +height = 270 +formats = 0x816,0x01a,0x820,0x001,0x80e,0x820 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 270 + +# Required - Great Fairy background heatwave effect +[TextureRedefine] +width = 512 +height = 512 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 512 + +# Select-Menu Map +[TextureRedefine] +width = 1504 +height = 720 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 1504 +overwriteHeight = ($height/$gameHeight) * 720 + +# Select-Menu Map +[TextureRedefine] +width = 1500 +height = 720 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 1500 +overwriteHeight = ($height/$gameHeight) * 720 + +# Select-Menu Map Overlay +[TextureRedefine] +width = 1280 +height = 608 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 608 + +# Mini-map GUI +[TextureRedefine] +width = 192 +height = 192 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 192 +overwriteHeight = ($height/$gameHeight) * 192 + +# Red Viewport +[TextureRedefine] +width = 1920 +height = 912 +formats = 0x001 +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 912 + +# 3D Map Ganons Castle & Beasts +[TextureRedefine] +width = 512 +height = 288 +formats = 0x01a,0x80e +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 288 + +# Improve Color Banding for GUI Format 0x019 +# 0x019 - R10_G10_B10_A2_UNORM ------> 0x01f - R16_G16_B16_A16_UNORM + +[TextureRedefine] +width = 1280 +height = 720 +formats = 0x019 +overwriteFormat = 0x01f +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] +width = 640 +height = 368 +formats = 0x019 +overwriteFormat = 0x01f +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = (($height/$gameHeight) * 368 ) + $heightfix + +[TextureRedefine] +width = 640 +height = 360 +formats = 0x019 +overwriteFormat = 0x01f +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 + +[TextureRedefine] +width = 320 +height = 192 +formats = 0x019 +overwriteFormat = 0x01f +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] +width = 320 +height = 180 +formats = 0x019 +overwriteFormat = 0x01f +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + +[TextureRedefine] +width = 128 +height = 720 +formats = 0x019 +overwriteFormat = 0x01f +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] +width = 110 +height = 720 +formats = 0x019 +overwriteFormat = 0x01f +overwriteWidth = ($width/$gameWidth) * 110 +overwriteHeight = ($height/$gameHeight) * 720 + +# Fix texture cache's mismatch warnings + +[TextureRedefine] # 1280x720; Map: travel confirm menu background blur +width = 1280 +height = 288 +depth = 1 +formats = 0x19 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 288 + +[TextureRedefine] # same as above +width = 1280 +height = 278 +depth = 1 +formats = 0x19 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 278 + +[TextureRedefine] # 640x360 mip 1; Scope dof close-up depth +width = 512 +height = 256 +depth = 1 +formats = 0x1 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 256 + +[TextureRedefine] # 640x360 mip 2; same as above +width = 256 +height = 128 +depth = 1 +formats = 0x1 +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 128 + +# Uncomment if HUD setting is Pro +# [TextureRedefine] # 640x360 mip 3; Designated level for dof processing. breaks sound wave HUD +# width = 128 +# height = 64 +# depth = 1 +# formats = 0x1 +# tilemodes = 4 +# overwriteWidth = ($width/$gameWidth) * 128 +# overwriteHeight = ($height/$gameHeight) * 64 + +[TextureRedefine] # 320x180; Blur on center piece of the map. not used at the moment of the capture +width = 293 +height = 185 +depth = 1 +formats = 0x1a +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 293 +overwriteHeight = ($height/$gameHeight) * 185 + +# [TextureRedefine] # 128x64; Fix sound HUD, breaks icons and teleport strips +# width = 64 +# height = 64 +# depth = 1 +# formats = 0x1 +# tilemodes = 4 +# overwriteWidth = ($width/$gameWidth) * 64 +# overwriteHeight = ($height/$gameHeight) * 64 + +# Resize letters box: Subtitle + +[TextureRedefine] +width = 512 +height = 96 +depth = 1 +formats = 0x1a +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 96 + +[TextureRedefine] +width = 500 +height = 94 +depth = 1 +formats = 0x1a +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 500 +overwriteHeight = ($height/$gameHeight) * 94 + +# Resize letters box: pop up message + +[TextureRedefine] +width = 480 +height = 32 +depth = 1 +formats = 0x1a +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 32 + +[TextureRedefine] +width = 464 +height = 28 +depth = 1 +formats = 0x1a +tilemodes = 4 +overwriteWidth = ($width/$gameWidth) * 464 +overwriteHeight = ($height/$gameHeight) * 28 diff --git a/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt b/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt new file mode 100644 index 00000000..433ee9b7 --- /dev/null +++ b/Resolutions/DevilsThird_Resolution/161904c2816b059d_0000000000000000_vs.txt @@ -0,0 +1,92 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable +// shader 161904c2816b059d +// Used for: Horizontal & Vertical Bloom Blur Pass +float resScale = ($width/$gameWidth); + +uniform ivec4 uf_remappedVS[5]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem8; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem129; +layout(location = 1) out vec4 passParameterSem130; +layout(location = 2) out vec4 passParameterSem131; +layout(location = 3) out vec4 passParameterSem132; +layout(location = 4) out vec4 passParameterSem133; +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){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +uvec4 attrDecoder; +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 = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder = attrDataSem0; +attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem8.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R0f.xyz = vec3(R1f.x,R1f.y,R1f.y) + vec3(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z)); +R0f.w = R1f.x + intBitsToFloat(uf_remappedVS[0].w)/resScale; +// 1 +R3f.xyz = vec3(R1f.x,R1f.y,R1f.y) + vec3(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z)); +R3f.w = R1f.x + intBitsToFloat(uf_remappedVS[1].w)/resScale; +// 2 +R4f.xyz = vec3(R1f.x,R1f.y,R1f.y) + vec3(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z)); +R4f.w = R1f.x + intBitsToFloat(uf_remappedVS[2].w)/resScale; +// 3 +R5f.xyz = vec3(R1f.x,R1f.y,R1f.y) + vec3(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z)); +R5f.w = R1f.x + intBitsToFloat(uf_remappedVS[3].w)/resScale; +// 4 +backupReg0f = R1f.x; +backupReg1f = R1f.y; +backupReg1f = R1f.y; +backupReg0f = R1f.x; +R1f.xyz = vec3(backupReg0f,backupReg1f,backupReg1f) + vec3(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z)); +R1f.w = backupReg0f + intBitsToFloat(uf_remappedVS[4].w)/resScale; +// export +gl_Position = vec4(R2f.x, R2f.y, R2f.z, R2f.w); +// export +passParameterSem129 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +passParameterSem130 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +// export +passParameterSem131 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +// export +passParameterSem132 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); +// export +passParameterSem133 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// 0 +} diff --git a/Resolutions/DevilsThird_Resolution/888e5d95da8037e2_0000000000000079_ps.txt b/Resolutions/DevilsThird_Resolution/888e5d95da8037e2_0000000000000079_ps.txt new file mode 100644 index 00000000..eb0ca08a --- /dev/null +++ b/Resolutions/DevilsThird_Resolution/888e5d95da8037e2_0000000000000079_ps.txt @@ -0,0 +1,108 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 888e5d95da8037e2 +// Used for: Horizontal & Vertical Blur Pass +float resScale = ($width/$gameWidth); + +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x15c36000 res 320x180x1 dim 1 tm: 4 format 0810 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +layout(location = 0) in vec4 passParameterSem129; +layout(location = 0) out vec4 passPixelColor0; +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 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 = passParameterSem129; +R3f.xy = (texture(textureUnitPS0, R0f.xy).xy); +// 0 +R1f.x = (-(intBitsToFloat(uf_remappedPS[0].z)/resScale) * 2.0 + R0f.x); +R1f.y = (-(intBitsToFloat(uf_remappedPS[0].w)/resScale) * 2.0 + R0f.y); +R0f.z = R0f.x + -(intBitsToFloat(uf_remappedPS[0].z)/resScale); +R0f.w = R0f.y + -(intBitsToFloat(uf_remappedPS[0].w)/resScale); +R2f.x = R0f.x + intBitsToFloat(uf_remappedPS[0].z)/resScale; +PS0f = R2f.x; +// 1 +R2f.y = R0f.y + intBitsToFloat(uf_remappedPS[0].w)/resScale; +R4f.z = 0.0; +R1f.w = R3f.y + -(R3f.y); +R4f.y = R3f.y; +PS1f = R4f.y; +R0f.xy = (texture(textureUnitPS0, R1f.xy).xy); +R1f.xy = (texture(textureUnitPS0, R0f.zw).xy); +R2f.xy = (texture(textureUnitPS0, R2f.xy).xy); +// 0 +PV0f.x = mul_nonIEEE(R1f.w, R1f.w); +PV0f.z = -(R3f.y) + R0f.y; +PV0f.w = -(R3f.y) + R1f.y; +// 1 +PV1f.x = -(R3f.y) + R2f.y; +PV1f.y = mul_nonIEEE(PV0f.z, PV0f.z); +PV1f.z = mul_nonIEEE(PV0f.w, PV0f.w); +PV1f.w = PV0f.x * intBitsToFloat(0x38d1b717); +PV1f.w = clamp(PV1f.w, 0.0, 1.0); +// 2 +PV0f.x = PV1f.y * intBitsToFloat(0x38d1b717); +PV0f.x = clamp(PV0f.x, 0.0, 1.0); +PV0f.y = PV1f.z * intBitsToFloat(0x38d1b717); +PV0f.y = clamp(PV0f.y, 0.0, 1.0); +PV0f.z = mul_nonIEEE(PV1f.x, PV1f.x); +PV0f.w = -(PV1f.w) + 1.0; +// 3 +PV1f.x = -(PV0f.y) + 1.0; +PV1f.y = PV0f.z * intBitsToFloat(0x38d1b717); +PV1f.y = clamp(PV1f.y, 0.0, 1.0); +R126f.z = PV0f.w + intBitsToFloat(0x3e4ccccd); +PV1f.w = -(PV0f.x) + 1.0; +// 4 +PV0f.x = -(PV1f.y) + 1.0; +R127f.z = PV1f.w + intBitsToFloat(0x3e4ccccd); +PV0f.z = R127f.z; +PV0f.w = PV1f.x + intBitsToFloat(0x3e4ccccd); +// 5 +R127f.x = PV0f.x + intBitsToFloat(0x3e4ccccd); +PV1f.y = mul_nonIEEE(R1f.x, PV0f.w); +PV1f.z = PV0f.z + PV0f.w; +// 6 +R123f.x = (mul_nonIEEE(R0f.x,R127f.z) + PV1f.y); +PV0f.x = R123f.x; +PV0f.z = PV1f.z + R126f.z; +// 7 +PV1f.x = PV0f.z + R127f.x; +R123f.w = (mul_nonIEEE(R3f.x,R126f.z) + PV0f.x); +PV1f.w = R123f.w; +// 8 +R123f.y = (mul_nonIEEE(R2f.x,R127f.x) + PV1f.w); +PV0f.y = R123f.y; +PS0f = 1.0 / PV1f.x; +// 9 +R4f.x = PV0f.y * PS0f; +// export +passPixelColor0 = vec4(R4f.x, R4f.y, R4f.z, R4f.z); +} diff --git a/Resolutions/DevilsThird_Resolution/rules.txt b/Resolutions/DevilsThird_Resolution/rules.txt new file mode 100644 index 00000000..9822dd08 --- /dev/null +++ b/Resolutions/DevilsThird_Resolution/rules.txt @@ -0,0 +1,144 @@ +[Definition] +titleIds = 0005000010177600,0005000010177700,0005000010197d00 +name = Resolution +path = "Devil's Third/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 + +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 320x180 +$width = 320 +$height = 180 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Common HD Resolutions + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] +width = 1280 +height = 720 +formats = 0x011,0x820,0x01a,0x41a +tileModesExcluded = 0x1 +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] +width = 864 +height = 480 +formats = 0x820 +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +# Blur + +[TextureRedefine] +width = 320 +height = 180 +formats = 0x810,0x820 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + +[TextureRedefine] +width = 320 +height = 192 +formats = 0x810 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +# Bloom + +[TextureRedefine] +width = 640 +height = 368 +formats = 0x820 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 + +[TextureRedefine] +width = 640 +height = 360 +formats = 0x820 +tileModesExcluded = 0x1 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 + +# Bloom looked broken from my testing (not using the tiled rendering fix or whatever it's called), but it might be a shader that didn't get upscaled correctly. + +[TextureRedefine] +width = 352 +height = 192 +formats = 0x820 +overwriteWidth = ($width/$gameWidth) * 352 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] +width = 322 +height = 182 +formats = 0x820 +overwriteWidth = ($width/$gameWidth) * 322 +overwriteHeight = ($height/$gameHeight) * 182 \ No newline at end of file diff --git a/docs/_data/GameTitles.yml b/docs/_data/GameTitles.yml index 3c208f2b..f2a6b7d2 100644 --- a/docs/_data/GameTitles.yml +++ b/docs/_data/GameTitles.yml @@ -83,7 +83,7 @@ "Devil’s Third": nativeRes: 720 compatLink: "http://compat.cemu.info/wiki/Devil%27s_Third" - version: 2 + version: 3 "Donkey Kong Country: Tropical Freeze": nativeRes: 720 compatLink: "http://compat.cemu.info/wiki/Donkey_Kong_Country:_Tropical_Freeze"