mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2025-01-09 19:27:36 -03:00
[BotW] Update ChangeAnicentGlowColor Mod (#387)
...Also added 'glow' in the file name to be more specific. Add brightness scaling for Guardians, scale original brightness of others instead of overwriting them.
This commit is contained in:
parent
b27294a2d9
commit
9b1e530fbe
17 changed files with 7248 additions and 7222 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,187 +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 Light = $L;
|
||||
|
||||
// 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(Light, PV0f.y);
|
||||
R6f.z = mul_nonIEEE(Light, PV0f.x);
|
||||
PV1f.w = intBitsToFloat(uf_remappedPS[2].z);
|
||||
R6f.x = mul_nonIEEE(Light, 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);
|
||||
}
|
||||
#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);
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
[Definition]
|
||||
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
|
||||
name = Ancient Armor
|
||||
path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Color/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
|
||||
|
||||
|
@ -10,46 +10,46 @@ name = Malice Red
|
|||
$R = 0.85
|
||||
$G = 0.029
|
||||
$B = 0.15
|
||||
$L = 20.0
|
||||
$L_f = 1.0
|
||||
|
||||
[Preset]
|
||||
name = Guardian Yellow
|
||||
$R = 1.0
|
||||
$G = 0.2
|
||||
$B = 0.059
|
||||
$L = 40.0
|
||||
$L_f = 2.0
|
||||
|
||||
[Preset]
|
||||
name = Guardian weapon Yellow
|
||||
$R = 1.0
|
||||
$G = 0.2
|
||||
$B = 0.0
|
||||
$L = 29.576
|
||||
$L_f = 1.5
|
||||
|
||||
[Preset]
|
||||
name = Ancient Orange
|
||||
$R = 1.0
|
||||
$G = 0.2
|
||||
$B = 0.0006
|
||||
$L = 20.0
|
||||
$L_f = 1.0
|
||||
|
||||
[Preset]
|
||||
name = Ancient weapon Orange
|
||||
$R = 1.0
|
||||
$G = 0.15
|
||||
$B = 0.05
|
||||
$L = 20.0
|
||||
$L_f = 1.0
|
||||
|
||||
[Preset]
|
||||
name = Energy Blue
|
||||
$R = 0.03
|
||||
$G = 0.25
|
||||
$B = 1.0
|
||||
$L = 40.0
|
||||
$L_f = 2.0
|
||||
|
||||
[Preset]
|
||||
name = Custom (Edit in rules.txt)
|
||||
$R = 0.000
|
||||
$G = 0.000
|
||||
$B = 0.000
|
||||
$L = 40.0 # Brightness, Armor only because others vary
|
||||
$L_f = 2.0 # Brightness scaling factor
|
|
@ -1,199 +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));
|
||||
}
|
||||
#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));
|
||||
}
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,7 @@
|
|||
[Definition]
|
||||
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
|
||||
name = Ancient weapons
|
||||
path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Color/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
|
||||
|
||||
|
@ -52,4 +52,4 @@ name = Custom (Edit in rules.txt)
|
|||
$R = 0.000
|
||||
$G = 0.000
|
||||
$B = 0.000
|
||||
$L = 40.0 # Brightness, Armor only because others vary
|
||||
$L = 40.0 # Brightness, can't scale because original unnormalized color use L=1
|
|
@ -1,203 +1,204 @@
|
|||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
|
||||
const vec3 Color = vec3($R,$G,$B);
|
||||
|
||||
// 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));
|
||||
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));
|
||||
R125f.y = mul_nonIEEE(Color.b, R125f.x);
|
||||
R126f.z = intBitsToFloat(0x427f0000) * R1f.w;
|
||||
R124f.w = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[1].x));
|
||||
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);
|
||||
}
|
||||
#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);
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
[Definition]
|
||||
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
|
||||
name = Decayed Guardian
|
||||
path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Color/Decayed Guardian"
|
||||
description = Change Decayed Guardian's color. Originally it's Malice Red.
|
||||
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]
|
||||
|
@ -10,39 +10,46 @@ 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
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,222 +1,223 @@
|
|||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
|
||||
const vec3 Color = vec3($R,$G,$B);
|
||||
|
||||
// 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));
|
||||
PV0f.y = R125f.y;
|
||||
R127f.z = mul_nonIEEE(R127f.w, intBitsToFloat(uf_remappedPS[1].x));
|
||||
PV0f.z = R127f.z;
|
||||
R127f.w = mul_nonIEEE(R126f.y, intBitsToFloat(uf_remappedPS[1].x));
|
||||
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);
|
||||
}
|
||||
#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);
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
[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 Color/Guardian Stalker & Scout & 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
|
||||
|
||||
|
@ -10,39 +10,46 @@ 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
|
|
@ -1,303 +1,304 @@
|
|||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
|
||||
const vec3 Color = vec3($R,$G,$B);
|
||||
|
||||
// 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)));
|
||||
R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[1].x)));
|
||||
R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_remappedPS[1].x)));
|
||||
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));
|
||||
}
|
||||
#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));
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
[Definition]
|
||||
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
|
||||
name = Guardian Turret & Skywatcher
|
||||
path = "The Legend of Zelda: Breath of the Wild/Mods/Change Ancient Color/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
|
||||
|
||||
|
@ -10,39 +10,46 @@ 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
|
Loading…
Reference in a new issue