mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2024-12-22 16:11:47 +01:00
[WWHD] - Fix flashing horizon and AO workaround
This commit is contained in:
parent
c6643ba1de
commit
85d267b88d
@ -2,6 +2,12 @@
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
// shader 04dcbf2655f94e03 //hoirzon cloud layer lighten up
|
||||
uniform ivec4 uf_remappedPS[2];
|
||||
|
||||
const float skyboxRed = float($skyboxRed);
|
||||
const float skyboxGreen = float($skyboxGreen);
|
||||
const float skyboxBlue = float($skyboxBlue);
|
||||
const float skyboxMix = float($skyboxMix);
|
||||
|
||||
layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x2702c000 res 1024x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 2 0 border: 0
|
||||
layout(location = 0) in vec4 passParameterSem6;
|
||||
layout(location = 0) out vec4 passPixelColor0;
|
||||
@ -55,6 +61,8 @@ R0f.w = PV1f.w;
|
||||
R1f.xyz = vec3(R2f.y,R2f.y,R2f.y);
|
||||
R1f.w = R2f.x;
|
||||
// export
|
||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z*1.1, R0f.w)*1.3;
|
||||
|
||||
//passPixelColor0 = vec4(R0f.x*$skyboxRed, R0f.y, R0f.z*1.1, R0f.w)*1.3;
|
||||
passPixelColor0 = vec4(R0f.x*skyboxRed, R0f.y*skyboxGreen, R0f.z*skyboxBlue*1.1, R0f.w)*skyboxMix*1.3;
|
||||
passPixelColor1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
|
||||
}
|
@ -2,6 +2,11 @@
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
// shader 53141a02b3f78921
|
||||
//make gradient more white blue
|
||||
const float skyboxRed = float($skyboxRed);
|
||||
const float skyboxGreen = float($skyboxGreen);
|
||||
const float skyboxBlue = float($skyboxBlue);
|
||||
const float skyboxMix = float($skyboxMix);
|
||||
|
||||
uniform ivec4 uf_remappedPS[2];
|
||||
layout(location = 0) in vec4 passParameterSem1;
|
||||
layout(location = 0) out vec4 passPixelColor0;
|
||||
@ -53,6 +58,7 @@ R2f.w = PV1f.w;
|
||||
R3f.xyz = vec3(R1f.y,R1f.y,R1f.y);
|
||||
R3f.w = R1f.w;
|
||||
// export
|
||||
passPixelColor0 = vec4(R2f.x, R2f.y*0.75, R2f.z*1.25, R2f.w)*1.1;
|
||||
//passPixelColor0 = vec4(R2f.x, R2f.y*0.75, R2f.z*1.25, R2f.w)*1.1;
|
||||
passPixelColor0 = vec4(R2f.x*skyboxRed, R2f.y*skyboxGreen*0.75, R2f.z*skyboxBlue*1.25, R2f.w)*skyboxMix*1.1;
|
||||
passPixelColor1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
||||
}
|
@ -2,6 +2,11 @@
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
// shader 8a763b05908ba4e8
|
||||
//Third band horizon
|
||||
const float skyboxRed = float($skyboxRed);
|
||||
const float skyboxGreen = float($skyboxGreen);
|
||||
const float skyboxBlue = float($skyboxBlue);
|
||||
const float skyboxMix = float($skyboxMix);
|
||||
|
||||
uniform ivec4 uf_remappedPS[3];
|
||||
layout(location = 0) in vec4 passParameterSem1;
|
||||
layout(location = 1) in vec4 passParameterSem2;
|
||||
@ -78,6 +83,7 @@ R0f.w = backupReg3f;
|
||||
R1f.xyz = vec3(R2f.x,R2f.y,R2f.y);
|
||||
R1f.w = R2f.w;
|
||||
// export
|
||||
passPixelColor0 = vec4(R0f.x, R0f.y*0.75, R0f.z*1.25, R0f.w)*1.2;
|
||||
//passPixelColor0 = vec4(R0f.x, R0f.y*0.75, R0f.z*1.25, R0f.w)*1.2;
|
||||
passPixelColor0 = vec4(R0f.x*skyboxRed, R0f.y*skyboxGreen*0.75, R0f.z*skyboxBlue*1.25, R0f.w)*skyboxMix*1.2;
|
||||
passPixelColor1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
|
||||
}
|
@ -2,6 +2,11 @@
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
// shader 90ed656e9c17616b
|
||||
//make second gradient more white blue
|
||||
const float skyboxRed = float($skyboxRed);
|
||||
const float skyboxGreen = float($skyboxGreen);
|
||||
const float skyboxBlue = float($skyboxBlue);
|
||||
const float skyboxMix = float($skyboxMix);
|
||||
|
||||
uniform ivec4 uf_remappedPS[3];
|
||||
layout(location = 0) in vec4 passParameterSem1;
|
||||
layout(location = 0) out vec4 passPixelColor0;
|
||||
@ -53,6 +58,7 @@ R2f.w = PV1f.w;
|
||||
R3f.xyz = vec3(R1f.y,R1f.y,R1f.y);
|
||||
R3f.w = R1f.w;
|
||||
// export
|
||||
passPixelColor0 = vec4(R2f.x, R2f.y*0.75, R2f.z*1.25, R2f.w)*1.2;
|
||||
//passPixelColor0 = vec4(R2f.x, R2f.y*0.75, R2f.z*1.25, R2f.w)*1.2;
|
||||
passPixelColor0 = vec4(R2f.x*skyboxRed, R2f.y*skyboxGreen*0.75, R2f.z*skyboxBlue*1.25, R2f.w)*skyboxMix*1.2;
|
||||
passPixelColor1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
||||
}
|
@ -0,0 +1,276 @@
|
||||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
// shader 92d5cf316124c301
|
||||
//beach cooking
|
||||
uniform ivec4 uf_remappedPS[7];
|
||||
layout(binding = 0) uniform sampler2DArray textureUnitPS0;// Tex0 addr 0x22754000 res 4x4x1 dim 5 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
|
||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
|
||||
layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x25304000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 1
|
||||
layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1
|
||||
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x26528000 res 512x2048x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 0 border: 0
|
||||
layout(location = 0) in vec4 passParameterSem1;
|
||||
layout(location = 1) in vec4 passParameterSem2;
|
||||
layout(location = 2) in vec4 passParameterSem4;
|
||||
layout(location = 3) in vec4 passParameterSem5;
|
||||
layout(location = 4) in vec4 passParameterSem6;
|
||||
layout(location = 5) in vec4 passParameterSem7;
|
||||
layout(location = 6) in vec4 passParameterSem8;
|
||||
layout(location = 0) out vec4 passPixelColor0;
|
||||
layout(location = 1) out vec4 passPixelColor1;
|
||||
uniform vec2 uf_fragCoordScale;
|
||||
int clampFI32(int v)
|
||||
{
|
||||
if( v == 0x7FFFFFFF )
|
||||
return floatBitsToInt(1.0);
|
||||
else if( v == 0xFFFFFFFF )
|
||||
return floatBitsToInt(0.0);
|
||||
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
|
||||
}
|
||||
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
|
||||
void main()
|
||||
{
|
||||
vec4 R0f = vec4(0.0);
|
||||
vec4 R1f = vec4(0.0);
|
||||
vec4 R2f = vec4(0.0);
|
||||
vec4 R3f = vec4(0.0);
|
||||
vec4 R4f = vec4(0.0);
|
||||
vec4 R5f = vec4(0.0);
|
||||
vec4 R6f = vec4(0.0);
|
||||
vec4 R7f = vec4(0.0);
|
||||
vec4 R8f = vec4(0.0);
|
||||
vec4 R9f = vec4(0.0);
|
||||
vec4 R10f = vec4(0.0);
|
||||
vec4 R11f = vec4(0.0);
|
||||
vec4 R12f = vec4(0.0);
|
||||
vec4 R13f = vec4(0.0);
|
||||
vec4 R122f = vec4(0.0);
|
||||
vec4 R123f = vec4(0.0);
|
||||
vec4 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 = passParameterSem1;
|
||||
R1f = passParameterSem2;
|
||||
R2f = passParameterSem4;
|
||||
R3f = passParameterSem5;
|
||||
R4f = passParameterSem6;
|
||||
R5f = passParameterSem7;
|
||||
R6f = passParameterSem8;
|
||||
// 0
|
||||
R8f.x = R3f.w;
|
||||
R8f.x = clamp(R8f.x, 0.0, 1.0);
|
||||
PV0f.y = -(R3f.z) + -(intBitsToFloat(0x42700000));
|
||||
R12f.z = roundEven(0.0);
|
||||
R7f.w = 1.0;
|
||||
PS0f = 1.0 / R5f.z;
|
||||
// 1
|
||||
R7f.x = mul_nonIEEE(R5f.x, PS0f);
|
||||
PV1f.x = R7f.x;
|
||||
R7f.y = mul_nonIEEE(R5f.y, PS0f);
|
||||
PV1f.y = R7f.y;
|
||||
PV1f.z = PV0f.y * intBitsToFloat(0x3dcccccd);
|
||||
PV1f.z = clamp(PV1f.z, 0.0, 1.0);
|
||||
R127f.w = mul_nonIEEE(-(R3f.z), intBitsToFloat(uf_remappedPS[0].w));
|
||||
PS1f = 1.0 / R4f.z;
|
||||
// 2
|
||||
backupReg0f = R4f.x;
|
||||
R4f.x = mul_nonIEEE(backupReg0f, PS1f);
|
||||
R127f.y = (mul_nonIEEE(PV1f.y,intBitsToFloat(uf_remappedPS[1].y)) + 1.0)/2.0;
|
||||
PV0f.y = R127f.y;
|
||||
R127f.z = (mul_nonIEEE(PV1f.x,intBitsToFloat(uf_remappedPS[1].x)) + 1.0)/2.0;
|
||||
PV0f.z = R127f.z;
|
||||
R4f.w = mul_nonIEEE(R4f.y, PS1f);
|
||||
R0f.w = -(PV1f.z) + 1.0;
|
||||
PS0f = R0f.w;
|
||||
// 3
|
||||
PV1f.x = mul_nonIEEE(-(R3f.z), intBitsToFloat(uf_remappedPS[0].y));
|
||||
R4f.y = (mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].z)),intBitsToFloat(uf_remappedPS[0].w)) + R127f.w);
|
||||
R4f.y = clamp(R4f.y, 0.0, 1.0);
|
||||
PV1f.z = floor(PV0f.y);
|
||||
PV1f.w = floor(PV0f.z);
|
||||
R8f.w = 0.0;
|
||||
PS1f = R8f.w;
|
||||
// 4
|
||||
R11f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z), PV1f.w);
|
||||
R11f.x *= 2.0;
|
||||
R11f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), PV1f.z);
|
||||
R11f.y *= 2.0;
|
||||
R4f.z = R127f.z + -(PV1f.w);
|
||||
R6f.w = R127f.y + -(PV1f.z);
|
||||
R1f.w = (mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].x)),intBitsToFloat(uf_remappedPS[0].y)) + PV1f.x);
|
||||
R1f.w = clamp(R1f.w, 0.0, 1.0);
|
||||
PS0f = R1f.w;
|
||||
R9f.xyzw = (textureGather(textureUnitPS1, R11f.xy).xyzw);
|
||||
R10f.xyw = (textureLod(textureUnitPS3, R7f.xy,R7f.w).xyw);
|
||||
R7f.xw = (textureLod(textureUnitPS3, R7f.xy,0.0).xw);
|
||||
R4f.x = (texture(textureUnitPS2, R4f.xw).x);
|
||||
R6f.xyz = (texture(textureUnitPS4, R6f.xy).xyz);
|
||||
// 0
|
||||
PV0f.x = -(R6f.w);
|
||||
R127f.y = -(R8f.x) + R9f.x;
|
||||
PV0f.z = mul_nonIEEE(R4f.z, R6f.w);
|
||||
R127f.w = -(R8f.x) + R9f.y;
|
||||
R127f.x = -(R8f.x) + R9f.z;
|
||||
PS0f = R127f.x;
|
||||
// 1
|
||||
R126f.x = -(R8f.x) + R9f.w;
|
||||
PV1f.y = PV0f.z;
|
||||
R127f.z = mul_nonIEEE(R5f.w, R4f.z);
|
||||
PV1f.w = -(PV0f.z);
|
||||
R125f.z = mul_nonIEEE(R5f.w, PV0f.x);
|
||||
PS1f = R125f.z;
|
||||
// 2
|
||||
backupReg0f = R127f.x;
|
||||
backupReg0f = R127f.x;
|
||||
R127f.x = max(R127f.y, -(R127f.y));
|
||||
R127f.y = mul_nonIEEE(R5f.w, PV1f.y);
|
||||
R126f.z = max(backupReg0f, -(backupReg0f));
|
||||
R126f.w = mul_nonIEEE(R5f.w, PV1f.w);
|
||||
R126f.y = max(R127f.w, -(R127f.w));
|
||||
PS0f = R126f.y;
|
||||
// 3
|
||||
PV1f.x = R10f.y + R0f.w;
|
||||
R125f.y = -(R7f.x) + R10f.x;
|
||||
R9f.z = (mul_nonIEEE(-(R1f.w),intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(uf_remappedPS[2].z));
|
||||
R127f.w = max(R126f.x, -(R126f.x));
|
||||
PV1f.w = R127f.w;
|
||||
R13f.w = 1.0;
|
||||
PS1f = R13f.w;
|
||||
// 4
|
||||
tempf.x = dot(vec4(R127f.z,R127f.y,R125f.z,R126f.w),vec4(PV1f.w,R127f.x,R126f.z,R126f.y));
|
||||
PV0f.x = tempf.x;
|
||||
PV0f.y = tempf.x;
|
||||
PV0f.z = tempf.x;
|
||||
PV0f.w = tempf.x;
|
||||
R124f.z = tempf.x;
|
||||
R5f.z = R4f.y + PV1f.x;
|
||||
R5f.z = clamp(R5f.z, 0.0, 1.0);
|
||||
PS0f = R5f.z;
|
||||
// 5
|
||||
tempf.x = dot(vec4(R127f.z,R127f.y,R125f.z,R126f.w),vec4(R127f.w,R126f.z,R127f.x,R126f.y));
|
||||
PV1f.x = tempf.x;
|
||||
PV1f.y = tempf.x;
|
||||
PV1f.z = tempf.x;
|
||||
PV1f.w = tempf.x;
|
||||
R122f.x = (mul_nonIEEE(R125f.y,PS0f) + R7f.x);
|
||||
PS1f = R122f.x;
|
||||
// 6
|
||||
PV0f.x = R4f.z + R124f.z;
|
||||
PV0f.x = clamp(PV0f.x, 0.0, 1.0);
|
||||
PV0f.y = mul_nonIEEE(PS1f, intBitsToFloat(uf_remappedPS[2].y));
|
||||
PV0f.z = R6f.w + PV1f.x;
|
||||
PV0f.z = clamp(PV0f.z, 0.0, 1.0);
|
||||
PV0f.w = -(R9f.z) + 1.0;
|
||||
PS0f = mul_nonIEEE(R7f.w, R10f.w);
|
||||
// 7
|
||||
R10f.x = mul_nonIEEE(R10f.w, PS0f);
|
||||
PV1f.x = R10f.x;
|
||||
R123f.y = (PV0f.x * 2.0 + -(1.0));
|
||||
PV1f.y = R123f.y;
|
||||
R123f.z = (PV0f.z * 2.0 + -(1.0));
|
||||
PV1f.z = R123f.z;
|
||||
R123f.w = (mul_nonIEEE(PV0f.w,R5f.z) + R9f.z);
|
||||
PV1f.w = R123f.w;
|
||||
tempResultf = log2(PV0f.y);
|
||||
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
|
||||
PS1f = tempResultf;
|
||||
// 8
|
||||
R12f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),PV1f.y) + R11f.x);
|
||||
R12f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),PV1f.z) + R11f.y);
|
||||
R5f.z = mul_nonIEEE(PV1f.w, PS1f);
|
||||
R10f.w = intBitsToFloat(uf_remappedPS[3].y) + R4f.x;
|
||||
R10f.w = clamp(R10f.w, 0.0, 1.0);
|
||||
R9f.z = mul_nonIEEE(R2f.x, PV1f.x);
|
||||
PS0f = R9f.z;
|
||||
R12f.xyz = (texture(textureUnitPS0, vec3(R12f.x,R12f.y,R12f.z)).xyz);
|
||||
// 0
|
||||
backupReg0f = R8f.y;
|
||||
backupReg0f = R8f.y;
|
||||
backupReg0f = R8f.y;
|
||||
R8f.xyz = vec3(R8f.w,backupReg0f,backupReg0f);
|
||||
R8f.w = backupReg0f;
|
||||
// 1
|
||||
R126f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x), R10f.x);
|
||||
R126f.y = mul_nonIEEE(R2f.y, R10f.x);
|
||||
PV1f.y = R126f.y;
|
||||
R124f.z = -(R9f.z) + intBitsToFloat(uf_remappedPS[5].x);
|
||||
R127f.w = mul_nonIEEE(R2f.z, R10f.x);
|
||||
PS1f = exp2(R5f.z);
|
||||
// 2
|
||||
PV0f.x = mul_nonIEEE(R3f.z, R3f.z);
|
||||
R127f.y = -(PV1f.y) + intBitsToFloat(uf_remappedPS[5].y);
|
||||
PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x), PS1f);
|
||||
PV0f.w = clamp(PV0f.w, 0.0, 1.0);
|
||||
// 3
|
||||
R127f.x = -(R127f.w) + intBitsToFloat(uf_remappedPS[5].z);
|
||||
PV1f.z = PV0f.w + intBitsToFloat(uf_remappedPS[3].x);
|
||||
PV1f.z = clamp(PV1f.z, 0.0, 1.0);
|
||||
R122f.x = (mul_nonIEEE(R3f.y,R3f.y) + PV0f.x);
|
||||
PS1f = R122f.x;
|
||||
// 4
|
||||
PV0f.x = mul_nonIEEE(PV1f.z, R10f.w);
|
||||
R123f.z = (mul_nonIEEE(R3f.x,R3f.x) + PS1f);
|
||||
PV0f.z = R123f.z;
|
||||
// 5
|
||||
PV1f.w = mul_nonIEEE(R2f.w, PV0f.x);
|
||||
PS1f = sqrt(PV0f.z);
|
||||
// 6
|
||||
R123f.x = (mul_nonIEEE(R1f.x,PS1f) + R1f.y);
|
||||
R123f.x = clamp(R123f.x, 0.0, 1.0);
|
||||
PV0f.x = R123f.x;
|
||||
R123f.y = (mul_nonIEEE(R127f.x,PV1f.w) + R127f.w);
|
||||
PV0f.y = R123f.y;
|
||||
R123f.z = (mul_nonIEEE(R127f.y,PV1f.w) + R126f.y);
|
||||
PV0f.z = R123f.z;
|
||||
R123f.w = (mul_nonIEEE(R124f.z,PV1f.w) + R9f.z);
|
||||
PV0f.w = R123f.w;
|
||||
// 7
|
||||
backupReg0f = R0f.x;
|
||||
backupReg1f = R0f.z;
|
||||
backupReg2f = R0f.y;
|
||||
PV1f.x = mul_nonIEEE(backupReg0f, PV0f.w);
|
||||
R0f.y = mul_nonIEEE(PV0f.x, PV0f.x);
|
||||
PV1f.z = mul_nonIEEE(backupReg1f, PV0f.y);
|
||||
PV1f.w = mul_nonIEEE(backupReg2f, PV0f.z);
|
||||
// 8
|
||||
R123f.x = (mul_nonIEEE(R126f.x,R12f.y) + PV1f.w);
|
||||
PV0f.x = R123f.x;
|
||||
R123f.y = (mul_nonIEEE(R126f.x,R12f.x) + PV1f.x);
|
||||
PV0f.y = R123f.y;
|
||||
R123f.w = (mul_nonIEEE(R126f.x,R12f.z) + PV1f.z);
|
||||
PV0f.w = R123f.w;
|
||||
// 9
|
||||
backupReg0f = R6f.y;
|
||||
backupReg1f = R6f.x;
|
||||
R6f.x = mul_nonIEEE(R6f.z, PV0f.w);
|
||||
R6f.y = mul_nonIEEE(backupReg0f, PV0f.x);
|
||||
R6f.z = mul_nonIEEE(backupReg1f, PV0f.y);
|
||||
// 0
|
||||
PV0f.x = -(R6f.y) + intBitsToFloat(uf_remappedPS[6].y);
|
||||
PV0f.y = -(R6f.z) + intBitsToFloat(uf_remappedPS[6].x);
|
||||
PV0f.w = -(R6f.x) + intBitsToFloat(uf_remappedPS[6].z);
|
||||
// 1
|
||||
R13f.x = (mul_nonIEEE(PV0f.y,R0f.y) + R6f.z);
|
||||
PV1f.x = R13f.x;
|
||||
R13f.y = (mul_nonIEEE(PV0f.x,R0f.y) + R6f.y);
|
||||
PV1f.y = R13f.y;
|
||||
R13f.z = (mul_nonIEEE(PV0f.w,R0f.y) + R6f.x);
|
||||
PV1f.z = R13f.z;
|
||||
// 2
|
||||
R7f.xyz = vec3(PV1f.x,PV1f.y,PV1f.z);
|
||||
R7f.w = R13f.w;
|
||||
// export
|
||||
passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w)*$beach;
|
||||
passPixelColor1 = vec4(R8f.x, R8f.y, R8f.z, R8f.w);
|
||||
}
|
@ -1,6 +1,11 @@
|
||||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
// shader 960d3ef6662043c7//bloom blend
|
||||
const float skyboxRed = float($skyboxRed);
|
||||
const float skyboxGreen = float($skyboxGreen);
|
||||
const float skyboxBlue = float($skyboxBlue);
|
||||
const float skyboxMix = float($skyboxMix);
|
||||
|
||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 480x270x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
|
||||
layout(location = 0) in vec4 passParameterSem0;
|
||||
layout(location = 0) out vec4 passPixelColor0;
|
||||
@ -36,5 +41,7 @@ backupReg2f = R0f.z;
|
||||
R0f.xyz = vec3(backupReg0f,backupReg1f,backupReg2f);
|
||||
// export
|
||||
|
||||
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z*1.1, R0f.w)*0.75;
|
||||
//passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z*1.1, R0f.w)*0.75;
|
||||
passPixelColor0 = vec4(R0f.x*skyboxRed, R0f.y*skyboxGreen, R0f.z*skyboxBlue*1.1, R0f.w)*skyboxMix*0.75;
|
||||
|
||||
}
|
@ -2,6 +2,12 @@
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
// shader b77c717f243c0b08
|
||||
uniform ivec4 uf_remappedPS[9];
|
||||
const float skyboxRed = float($skyboxRed);
|
||||
const float skyboxGreen = float($skyboxGreen);
|
||||
const float skyboxBlue = float($skyboxBlue);
|
||||
const float skyboxMix = float($skyboxMix);
|
||||
|
||||
|
||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x25672000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 1
|
||||
layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1
|
||||
layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x2df1f000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 1
|
||||
@ -242,6 +248,7 @@ R0f.w = backupReg0f;
|
||||
R1f.xyz = vec3(R8f.y,R8f.y,R8f.y);
|
||||
R1f.w = R8f.w;
|
||||
// export
|
||||
passPixelColor0 = vec4(R0f.x, R0f.y*0.9, R0f.z*1.1, R0f.w);
|
||||
//passPixelColor0 = vec4(R0f.x, R0f.y*0.9, R0f.z*1.1, R0f.w);
|
||||
passPixelColor0 = vec4(R0f.x*skyboxRed, R0f.y*skyboxGreen*0.9, R0f.z*skyboxBlue*1.1, R0f.w)*skyboxMix;
|
||||
passPixelColor1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
|
||||
}
|
@ -0,0 +1,296 @@
|
||||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
// shader c2cae30e906be2d5
|
||||
//Ao scale
|
||||
uniform ivec4 uf_remappedPS[8];
|
||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
|
||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4200000 res 960x540x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
|
||||
layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3b5d5800 res 4x4x1 dim 1 tm: 2 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 1
|
||||
layout(location = 0) in vec4 passParameterSem1;
|
||||
layout(location = 0) out vec4 passPixelColor0;
|
||||
uniform vec2 uf_fragCoordScale;
|
||||
int clampFI32(int v)
|
||||
{
|
||||
if( v == 0x7FFFFFFF )
|
||||
return floatBitsToInt(1.0);
|
||||
else if( v == 0xFFFFFFFF )
|
||||
return floatBitsToInt(0.0);
|
||||
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
|
||||
}
|
||||
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
|
||||
void main()
|
||||
{
|
||||
vec4 R0f = vec4(0.0);
|
||||
vec4 R1f = vec4(0.0);
|
||||
vec4 R2f = vec4(0.0);
|
||||
vec4 R3f = vec4(0.0);
|
||||
vec4 R4f = vec4(0.0);
|
||||
vec4 R5f = vec4(0.0);
|
||||
vec4 R6f = vec4(0.0);
|
||||
vec4 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 = passParameterSem1;
|
||||
R2f.x = (texture(textureUnitPS0, R0f.xy).x);
|
||||
R1f.xy = (texture(textureUnitPS2, R0f.zw).xy)*$AO;
|
||||
// 0
|
||||
R4f.x = (R1f.y * 2.0 + -(1.0));
|
||||
PV0f.x = R4f.x;
|
||||
R4f.y = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[0].z));
|
||||
R5f.z = (R1f.x * 2.0 + -(1.0));
|
||||
PV0f.z = R5f.z;
|
||||
R123f.w = (mul_nonIEEE(-(R2f.x),intBitsToFloat(uf_remappedPS[1].y)) + 1.0);
|
||||
R123f.w = clamp(R123f.w, 0.0, 1.0);
|
||||
PV0f.w = R123f.w;
|
||||
// 1
|
||||
R5f.x = mul_nonIEEE(-(PV0f.x), intBitsToFloat(uf_remappedPS[2].z));
|
||||
R3f.y = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedPS[2].z));
|
||||
R4f.z = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedPS[1].x));
|
||||
PV1f.z = R4f.z;
|
||||
// 2
|
||||
R127f.x = mul_nonIEEE(PV1f.z, intBitsToFloat(uf_remappedPS[3].x));
|
||||
PV0f.x = R127f.x;
|
||||
R127f.y = mul_nonIEEE(PV1f.z, intBitsToFloat(uf_remappedPS[3].y));
|
||||
PV0f.z = mul_nonIEEE(PV1f.z, intBitsToFloat(uf_remappedPS[4].x));
|
||||
R127f.w = mul_nonIEEE(PV1f.z, intBitsToFloat(uf_remappedPS[4].y));
|
||||
PS0f = 1.0 / PV1f.z;
|
||||
// 3
|
||||
R6f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), PS0f);
|
||||
PV1f.y = mul_nonIEEE(R3f.y, PV0f.z);
|
||||
PV1f.z = mul_nonIEEE(R4f.x, PV0f.z);
|
||||
R4f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), PS0f);
|
||||
PS1f = mul_nonIEEE(R3f.y, PV0f.x);
|
||||
// 4
|
||||
PV0f.x = mul_nonIEEE(R4f.x, R127f.x);
|
||||
R126f.y = (mul_nonIEEE(R5f.x,R127f.y) + PS1f);
|
||||
R123f.z = (mul_nonIEEE(R5f.z,R127f.w) + PV1f.z);
|
||||
PV0f.z = R123f.z;
|
||||
R123f.w = (mul_nonIEEE(R5f.x,R127f.w) + PV1f.y);
|
||||
PV0f.w = R123f.w;
|
||||
R3f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedPS[6].x));
|
||||
PS0f = R3f.x;
|
||||
// 5
|
||||
R1f.xyz = vec3(R0f.x,R0f.y,R0f.x) + vec3(PV0f.w,PV0f.z,-(PV0f.w));
|
||||
R1f.w = R0f.y + -(PV0f.z);
|
||||
R122f.x = (mul_nonIEEE(R5f.z,R127f.y) + PV0f.x);
|
||||
PS1f = R122f.x;
|
||||
// 6
|
||||
R2f.xyz = vec3(R0f.x,R0f.y,R0f.x) + vec3(R126f.y,PS1f,-(R126f.y));
|
||||
R2f.w = R0f.y + -(PS1f);
|
||||
R3f.z = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedPS[6].y));
|
||||
PS0f = R3f.z;
|
||||
R1f.x = (texture(textureUnitPS1, R1f.xy).x);
|
||||
R1f.y = (texture(textureUnitPS1, R1f.zw).x);
|
||||
R2f.x = (texture(textureUnitPS1, R2f.xy).x);
|
||||
R2f.y = (texture(textureUnitPS1, R2f.zw).x);
|
||||
// 0
|
||||
R127f.x = R4f.y + -(R2f.x);
|
||||
PV0f.x = R127f.x;
|
||||
R126f.y = R4f.y + -(R2f.y);
|
||||
PV0f.z = -(R1f.y) + R4f.y;
|
||||
PV0f.w = -(R1f.x) + R4f.y;
|
||||
// 1
|
||||
PV1f.x = mul_nonIEEE(PV0f.z, R4f.w);
|
||||
PV1f.x /= 2.0;
|
||||
PV1f.y = mul_nonIEEE(PV0f.w, R6f.x);
|
||||
PV1f.y /= 2.0;
|
||||
R126f.z = (mul_nonIEEE(-(PV0f.w),intBitsToFloat(uf_remappedPS[1].z)) + 1.0);
|
||||
R126f.z = clamp(R126f.z, 0.0, 1.0);
|
||||
R125f.w = (mul_nonIEEE(-(PV0f.z),intBitsToFloat(uf_remappedPS[1].z)) + 1.0);
|
||||
R125f.w = clamp(R125f.w, 0.0, 1.0);
|
||||
PS1f = mul_nonIEEE(PV0f.x, R6f.x);
|
||||
PS1f /= 2.0;
|
||||
// 2
|
||||
R126f.x = (mul_nonIEEE(PS1f,intBitsToFloat(uf_remappedPS[3].z)) + 0.5);
|
||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
||||
PV0f.y = mul_nonIEEE(R126f.y, R4f.w);
|
||||
PV0f.y /= 2.0;
|
||||
R127f.z = (mul_nonIEEE(PV1f.x,intBitsToFloat(uf_remappedPS[4].z)) + 0.5);
|
||||
R127f.z = clamp(R127f.z, 0.0, 1.0);
|
||||
PV0f.z = R127f.z;
|
||||
R127f.w = (mul_nonIEEE(PV1f.y,intBitsToFloat(uf_remappedPS[4].z)) + 0.5);
|
||||
R127f.w = clamp(R127f.w, 0.0, 1.0);
|
||||
PV0f.w = R127f.w;
|
||||
R126f.w = mul_nonIEEE(R3f.y, R3f.x);
|
||||
PS0f = R126f.w;
|
||||
// 3
|
||||
R125f.x = (mul_nonIEEE(PV0f.y,intBitsToFloat(uf_remappedPS[3].z)) + 0.5);
|
||||
R125f.x = clamp(R125f.x, 0.0, 1.0);
|
||||
PV1f.x = R125f.x;
|
||||
R127f.y = (mul_nonIEEE(-(R127f.x),intBitsToFloat(uf_remappedPS[1].z)) + 1.0);
|
||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
||||
PV1f.z = 0.5 + -(PV0f.w);
|
||||
PV1f.w = 0.5 + -(PV0f.z);
|
||||
R125f.y = (mul_nonIEEE(-(R126f.y),intBitsToFloat(uf_remappedPS[1].z)) + 1.0);
|
||||
R125f.y = clamp(R125f.y, 0.0, 1.0);
|
||||
PS1f = R125f.y;
|
||||
// 4
|
||||
R127f.x = (mul_nonIEEE(PV1f.z,R126f.z) + 0.5);
|
||||
PV0f.x = R127f.x;
|
||||
R126f.y = (mul_nonIEEE(PV1f.w,R125f.w) + 0.5);
|
||||
PV0f.y = R126f.y;
|
||||
PV0f.z = 0.5 + -(PV1f.x);
|
||||
PV0f.w = 0.5 + -(R126f.x);
|
||||
R125f.z = mul_nonIEEE(R4f.x, R3f.x);
|
||||
PS0f = R125f.z;
|
||||
// 5
|
||||
R124f.x = (mul_nonIEEE(PV0f.z,R125f.y) + 0.5);
|
||||
PV1f.x = R124f.x;
|
||||
R124f.y = (mul_nonIEEE(PV0f.w,R127f.y) + 0.5);
|
||||
PV1f.y = R124f.y;
|
||||
PV1f.z = R127f.z + -(PV0f.x);
|
||||
PV1f.w = R127f.w + -(PV0f.y);
|
||||
R127f.w = (mul_nonIEEE(R5f.x,R3f.z) + R126f.w);
|
||||
PS1f = R127f.w;
|
||||
// 6
|
||||
backupReg0f = R127f.x;
|
||||
backupReg1f = R126f.y;
|
||||
R127f.x = (mul_nonIEEE(PV1f.z,R125f.w) + backupReg0f);
|
||||
R126f.y = (mul_nonIEEE(PV1f.w,R126f.z) + backupReg1f);
|
||||
PV0f.z = R126f.x + -(PV1f.x);
|
||||
PV0f.w = R125f.x + -(PV1f.y);
|
||||
// 7
|
||||
R1f.x = R0f.x + R127f.w;
|
||||
R123f.y = (mul_nonIEEE(PV0f.w,R125f.y) + R124f.y);
|
||||
PV1f.y = R123f.y;
|
||||
R123f.z = (mul_nonIEEE(R5f.z,R3f.z) + R125f.z);
|
||||
PV1f.z = R123f.z;
|
||||
R123f.w = (mul_nonIEEE(PV0f.z,R127f.y) + R124f.x);
|
||||
PV1f.w = R123f.w;
|
||||
R3f.x = R0f.x + -(R127f.w);
|
||||
PS1f = R3f.x;
|
||||
// 8
|
||||
PV0f.x = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedPS[3].w));
|
||||
R1f.y = R0f.y + PV1f.z;
|
||||
PV0f.z = mul_nonIEEE(PV1f.y, intBitsToFloat(uf_remappedPS[3].w));
|
||||
R3f.w = R0f.y + -(PV1f.z);
|
||||
PS0f = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedPS[7].x));
|
||||
// 9
|
||||
PV1f.x = mul_nonIEEE(R3f.y, PS0f);
|
||||
R3f.y = (mul_nonIEEE(R127f.x,intBitsToFloat(uf_remappedPS[4].w)) + PV0f.z);
|
||||
PV1f.z = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedPS[7].y));
|
||||
R2f.w = (mul_nonIEEE(R126f.y,intBitsToFloat(uf_remappedPS[4].w)) + PV0f.x);
|
||||
PS1f = mul_nonIEEE(R4f.x, PS0f);
|
||||
// 10
|
||||
R5f.y = 0.0;
|
||||
R123f.z = (mul_nonIEEE(R5f.x,PV1f.z) + PV1f.x);
|
||||
PV0f.z = R123f.z;
|
||||
R123f.w = (mul_nonIEEE(R5f.z,PV1f.z) + PS1f);
|
||||
PV0f.w = R123f.w;
|
||||
R5f.w = 1.0;
|
||||
PS0f = R5f.w;
|
||||
// 11
|
||||
backupReg0f = R0f.x;
|
||||
backupReg1f = R0f.y;
|
||||
backupReg0f = R0f.x;
|
||||
backupReg1f = R0f.y;
|
||||
R0f.xyz = vec3(backupReg0f,backupReg1f,backupReg0f) + vec3(PV0f.z,PV0f.w,-(PV0f.z));
|
||||
R0f.w = backupReg1f + -(PV0f.w);
|
||||
R1f.x = (texture(textureUnitPS1, R1f.xy).x);
|
||||
R1f.y = (texture(textureUnitPS1, R3f.xw).x);
|
||||
R0f.x = (texture(textureUnitPS1, R0f.xy).x);
|
||||
R0f.y = (texture(textureUnitPS1, R0f.zw).x);
|
||||
// 0
|
||||
backupReg0f = R0f.x;
|
||||
backupReg1f = R0f.y;
|
||||
PV0f.x = R4f.y + -(R1f.y);
|
||||
PV0f.y = R4f.y + -(R1f.x);
|
||||
R125f.z = R4f.y + -(backupReg0f);
|
||||
PV0f.z = R125f.z;
|
||||
R127f.w = R4f.y + -(backupReg1f);
|
||||
// 1
|
||||
R124f.x = (mul_nonIEEE(-(PV0f.y),intBitsToFloat(uf_remappedPS[1].z)) + 1.0);
|
||||
R124f.x = clamp(R124f.x, 0.0, 1.0);
|
||||
R127f.y = (mul_nonIEEE(-(PV0f.x),intBitsToFloat(uf_remappedPS[1].z)) + 1.0);
|
||||
R127f.y = clamp(R127f.y, 0.0, 1.0);
|
||||
PV1f.z = mul_nonIEEE(PV0f.x, R4f.w);
|
||||
PV1f.z /= 2.0;
|
||||
PV1f.w = mul_nonIEEE(PV0f.y, R6f.x);
|
||||
PV1f.w /= 2.0;
|
||||
PS1f = mul_nonIEEE(PV0f.z, R6f.x);
|
||||
PS1f /= 2.0;
|
||||
// 2
|
||||
R127f.x = (mul_nonIEEE(PV1f.z,intBitsToFloat(uf_remappedPS[6].z)) + 0.5);
|
||||
R127f.x = clamp(R127f.x, 0.0, 1.0);
|
||||
PV0f.x = R127f.x;
|
||||
R126f.y = (mul_nonIEEE(PV1f.w,intBitsToFloat(uf_remappedPS[6].z)) + 0.5);
|
||||
R126f.y = clamp(R126f.y, 0.0, 1.0);
|
||||
PV0f.y = R126f.y;
|
||||
PV0f.z = mul_nonIEEE(R127f.w, R4f.w);
|
||||
PV0f.z /= 2.0;
|
||||
R125f.w = (mul_nonIEEE(PS1f,intBitsToFloat(uf_remappedPS[7].z)) + 0.5);
|
||||
R125f.w = clamp(R125f.w, 0.0, 1.0);
|
||||
// 3
|
||||
PV1f.x = 0.5 + -(PV0f.y);
|
||||
PV1f.y = 0.5 + -(PV0f.x);
|
||||
R126f.z = (mul_nonIEEE(PV0f.z,intBitsToFloat(uf_remappedPS[7].z)) + 0.5);
|
||||
R126f.z = clamp(R126f.z, 0.0, 1.0);
|
||||
PV1f.z = R126f.z;
|
||||
R126f.w = (mul_nonIEEE(-(R125f.z),intBitsToFloat(uf_remappedPS[1].z)) + 1.0);
|
||||
R126f.w = clamp(R126f.w, 0.0, 1.0);
|
||||
R125f.y = (mul_nonIEEE(-(R127f.w),intBitsToFloat(uf_remappedPS[1].z)) + 1.0);
|
||||
R125f.y = clamp(R125f.y, 0.0, 1.0);
|
||||
PS1f = R125f.y;
|
||||
// 4
|
||||
PV0f.x = 0.5 + -(PV1f.z);
|
||||
PV0f.y = 0.5 + -(R125f.w);
|
||||
R125f.z = (mul_nonIEEE(PV1f.x,R124f.x) + 0.5);
|
||||
PV0f.z = R125f.z;
|
||||
R127f.w = (mul_nonIEEE(PV1f.y,R127f.y) + 0.5);
|
||||
PV0f.w = R127f.w;
|
||||
// 5
|
||||
PV1f.x = R127f.x + -(PV0f.z);
|
||||
PV1f.y = R126f.y + -(PV0f.w);
|
||||
R127f.z = (mul_nonIEEE(PV0f.y,R126f.w) + 0.5);
|
||||
PV1f.z = R127f.z;
|
||||
R124f.w = (mul_nonIEEE(PV0f.x,R125f.y) + 0.5);
|
||||
PV1f.w = R124f.w;
|
||||
// 6
|
||||
PV0f.x = R125f.w + -(PV1f.w);
|
||||
PV0f.y = R126f.z + -(PV1f.z);
|
||||
R123f.z = (mul_nonIEEE(PV1f.x,R127f.y) + R125f.z);
|
||||
PV0f.z = R123f.z;
|
||||
R123f.w = (mul_nonIEEE(PV1f.y,R124f.x) + R127f.w);
|
||||
PV0f.w = R123f.w;
|
||||
// 7
|
||||
R123f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[6].w)) + R2f.w);
|
||||
PV1f.x = R123f.x;
|
||||
R123f.y = (mul_nonIEEE(PV0f.y,R125f.y) + R127f.z);
|
||||
PV1f.y = R123f.y;
|
||||
R123f.z = (mul_nonIEEE(PV0f.z,intBitsToFloat(uf_remappedPS[6].w)) + R3f.y);
|
||||
PV1f.z = R123f.z;
|
||||
R123f.w = (mul_nonIEEE(PV0f.x,R126f.w) + R124f.w);
|
||||
PV1f.w = R123f.w;
|
||||
// 8
|
||||
R123f.x = (mul_nonIEEE(PV1f.w,intBitsToFloat(uf_remappedPS[7].w)) + PV1f.x);
|
||||
PV0f.x = R123f.x;
|
||||
R123f.z = (mul_nonIEEE(PV1f.y,intBitsToFloat(uf_remappedPS[7].w)) + PV1f.z);
|
||||
PV0f.z = R123f.z;
|
||||
// 9
|
||||
PV1f.w = PV0f.x + PV0f.z;
|
||||
// 10
|
||||
PV0f.y = PV1f.w + intBitsToFloat(uf_remappedPS[1].w);
|
||||
// 11
|
||||
PV1f.x = PV0f.y + -(0.5);
|
||||
// 12
|
||||
PV0f.z = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedPS[0].y));
|
||||
PV0f.z = clamp(PV0f.z, 0.0, 1.0);
|
||||
// 13
|
||||
R5f.x = -(PV0f.z) + 1.0;
|
||||
// export
|
||||
passPixelColor0 = vec4(R5f.x, R5f.y, R5f.y, R5f.w);
|
||||
}
|
@ -2,6 +2,11 @@
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
// shader e1ea1127489fd281 // horizon
|
||||
uniform ivec4 uf_remappedPS[5];
|
||||
const float skyboxRed = float($skyboxRed);
|
||||
const float skyboxGreen = float($skyboxGreen);
|
||||
const float skyboxBlue = float($skyboxBlue);
|
||||
const float skyboxMix = float($skyboxMix);
|
||||
|
||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x25672000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 1
|
||||
layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1
|
||||
layout(location = 0) in vec4 passParameterSem2;
|
||||
@ -154,6 +159,7 @@ R0f.w = R4f.w;
|
||||
R1f.xyz = vec3(R3f.z,R3f.y,R3f.y);
|
||||
R1f.w = R3f.y;
|
||||
// export
|
||||
passPixelColor0 = vec4(R0f.x, R0f.y*0.9, R0f.z*1.1, R0f.w);
|
||||
//passPixelColor0 = vec4(R0f.x, R0f.y*0.9, R0f.z*1.1, R0f.w);
|
||||
passPixelColor0 = vec4(R0f.x*skyboxRed, R0f.y*skyboxGreen*0.9, R0f.z*skyboxBlue*1.1, R0f.w)*skyboxMix;
|
||||
passPixelColor1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
|
||||
}
|
@ -0,0 +1,166 @@
|
||||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
// shader ef821134ed8dd294 // horizon 2 missing shader
|
||||
const float skyboxRed = float($skyboxRed);
|
||||
const float skyboxGreen = float($skyboxGreen);
|
||||
const float skyboxBlue = float($skyboxBlue);
|
||||
const float skyboxMix = float($skyboxMix);
|
||||
|
||||
uniform ivec4 uf_remappedPS[5];
|
||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x25304000 res 4096x4096x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xd) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 1
|
||||
layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf42ff800 res 960x540x1 dim 1 tm: 4 format 001a compSel: 1 2 3 0 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1
|
||||
layout(location = 0) in vec4 passParameterSem2;
|
||||
layout(location = 1) in vec4 passParameterSem4;
|
||||
layout(location = 2) in vec4 passParameterSem5;
|
||||
layout(location = 3) in vec4 passParameterSem6;
|
||||
layout(location = 0) out vec4 passPixelColor0;
|
||||
layout(location = 1) out vec4 passPixelColor1;
|
||||
uniform vec2 uf_fragCoordScale;
|
||||
int clampFI32(int v)
|
||||
{
|
||||
if( v == 0x7FFFFFFF )
|
||||
return floatBitsToInt(1.0);
|
||||
else if( v == 0xFFFFFFFF )
|
||||
return floatBitsToInt(0.0);
|
||||
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
|
||||
}
|
||||
float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));}
|
||||
void main()
|
||||
{
|
||||
vec4 R0f = vec4(0.0);
|
||||
vec4 R1f = vec4(0.0);
|
||||
vec4 R2f = vec4(0.0);
|
||||
vec4 R3f = vec4(0.0);
|
||||
vec4 R4f = vec4(0.0);
|
||||
vec4 R5f = vec4(0.0);
|
||||
vec4 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 = passParameterSem2;
|
||||
R1f = passParameterSem4;
|
||||
R2f = passParameterSem5;
|
||||
R3f = passParameterSem6;
|
||||
// 0
|
||||
PV0f.x = mul_nonIEEE(-(R1f.z), intBitsToFloat(uf_remappedPS[0].w));
|
||||
PV0f.y = -(R1f.z) + -(intBitsToFloat(0x42700000));
|
||||
R127f.z = mul_nonIEEE(-(R1f.z), intBitsToFloat(uf_remappedPS[0].y));
|
||||
R4f.w = 1.0;
|
||||
PS0f = 1.0 / R3f.z;
|
||||
// 1
|
||||
R4f.x = mul_nonIEEE(R3f.x, PS0f);
|
||||
R4f.y = mul_nonIEEE(R3f.y, PS0f);
|
||||
R3f.z = (mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].z)),intBitsToFloat(uf_remappedPS[0].w)) + PV0f.x);
|
||||
R3f.z = clamp(R3f.z, 0.0, 1.0);
|
||||
PV1f.w = PV0f.y * intBitsToFloat(0x3dcccccd);
|
||||
PV1f.w = clamp(PV1f.w, 0.0, 1.0);
|
||||
PS1f = 1.0 / R2f.z;
|
||||
// 2
|
||||
backupReg0f = R2f.x;
|
||||
backupReg1f = R2f.y;
|
||||
R2f.x = mul_nonIEEE(backupReg0f, PS1f);
|
||||
R2f.y = mul_nonIEEE(backupReg1f, PS1f);
|
||||
R2f.z = -(PV1f.w) + 1.0;
|
||||
R0f.w = (mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].x)),intBitsToFloat(uf_remappedPS[0].y)) + R127f.z);
|
||||
R0f.w = clamp(R0f.w, 0.0, 1.0);
|
||||
R5f.x = intBitsToFloat(uf_remappedPS[1].x);
|
||||
R5f.x = clamp(R5f.x, 0.0, 1.0);
|
||||
PS0f = R5f.x;
|
||||
R3f.x = (textureLod(textureUnitPS2, R4f.xy,0.0).x);
|
||||
R4f.x = (textureLod(textureUnitPS2, R4f.xy,R4f.w).x);
|
||||
R2f.x = (texture(textureUnitPS1, R2f.xy).x);
|
||||
// 0
|
||||
R127f.x = R3f.z + R2f.z;
|
||||
R127f.x = clamp(R127f.x, 0.0, 1.0);
|
||||
PV0f.x = R127f.x;
|
||||
PV0f.y = -(R3f.x) + R4f.x;
|
||||
R127f.z = (mul_nonIEEE(-(R0f.w),intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(uf_remappedPS[2].z));
|
||||
PV0f.z = R127f.z;
|
||||
R126f.w = intBitsToFloat(uf_remappedPS[1].y);
|
||||
R126f.w = clamp(R126f.w, 0.0, 1.0);
|
||||
R4f.w = 1.0;
|
||||
PS0f = R4f.w;
|
||||
// 1
|
||||
R126f.x = intBitsToFloat(uf_remappedPS[1].z);
|
||||
R126f.x = clamp(R126f.x, 0.0, 1.0);
|
||||
PV1f.x = R126f.x;
|
||||
PV1f.y = -(PV0f.z) + 1.0;
|
||||
R126f.z = intBitsToFloat(uf_remappedPS[3].y) + R2f.x;
|
||||
R126f.z = clamp(R126f.z, 0.0, 1.0);
|
||||
R123f.w = (mul_nonIEEE(PV0f.y,PV0f.x) + R3f.x);
|
||||
PV1f.w = R123f.w;
|
||||
R3f.z = 0.0;
|
||||
PS1f = R3f.z;
|
||||
// 2
|
||||
backupReg0f = R127f.x;
|
||||
R127f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z), R5f.x);
|
||||
R126f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z), R126f.w);
|
||||
PV0f.z = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedPS[2].y));
|
||||
R127f.w = (mul_nonIEEE(PV1f.y,backupReg0f) + R127f.z);
|
||||
R125f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z), PV1f.x);
|
||||
PS0f = R125f.z;
|
||||
// 3
|
||||
tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,-0.0),vec4(R1f.x,R1f.y,R1f.z,0.0));
|
||||
PV1f.x = tempf.x;
|
||||
PV1f.y = tempf.x;
|
||||
PV1f.z = tempf.x;
|
||||
PV1f.w = tempf.x;
|
||||
tempResultf = log2(PV0f.z);
|
||||
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
|
||||
PS1f = tempResultf;
|
||||
// 4
|
||||
PV0f.x = mul_nonIEEE(R127f.w, PS1f);
|
||||
R127f.yzw = vec3(R5f.x,R126f.w,R126f.x) + vec3(-(R127f.x),-(R126f.y),-(R125f.z));
|
||||
PS0f = sqrt(PV1f.x);
|
||||
// 5
|
||||
R123f.w = (mul_nonIEEE(R0f.x,PS0f) + R0f.y);
|
||||
R123f.w = clamp(R123f.w, 0.0, 1.0);
|
||||
PV1f.w = R123f.w;
|
||||
PS1f = exp2(PV0f.x);
|
||||
// 6
|
||||
R2f.z = mul_nonIEEE(PV1f.w, PV1f.w);
|
||||
PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x), PS1f);
|
||||
PV0f.w = clamp(PV0f.w, 0.0, 1.0);
|
||||
// 7
|
||||
PV1f.z = PV0f.w + intBitsToFloat(uf_remappedPS[3].x);
|
||||
PV1f.z = clamp(PV1f.z, 0.0, 1.0);
|
||||
// 8
|
||||
PV0f.y = mul_nonIEEE(PV1f.z, R126f.z);
|
||||
// 9
|
||||
R0f.x = (mul_nonIEEE(PV0f.y,R125f.z) + R127f.w);
|
||||
R0f.y = (mul_nonIEEE(PV0f.y,R126f.y) + R127f.z);
|
||||
R1f.z = (mul_nonIEEE(PV0f.y,R127f.x) + R127f.y);
|
||||
// 0
|
||||
backupReg0f = R0f.x;
|
||||
PV0f.x = -(R0f.y) + intBitsToFloat(uf_remappedPS[4].y);
|
||||
PV0f.y = -(R1f.z) + intBitsToFloat(uf_remappedPS[4].x);
|
||||
PV0f.w = -(backupReg0f) + intBitsToFloat(uf_remappedPS[4].z);
|
||||
// 1
|
||||
R4f.x = (mul_nonIEEE(PV0f.y,R2f.z) + R1f.z);
|
||||
PV1f.x = R4f.x;
|
||||
R4f.y = (mul_nonIEEE(PV0f.x,R2f.z) + R0f.y);
|
||||
PV1f.y = R4f.y;
|
||||
R4f.z = (mul_nonIEEE(PV0f.w,R2f.z) + R0f.x);
|
||||
PV1f.z = R4f.z;
|
||||
// 2
|
||||
R0f.xyz = vec3(PV1f.x,PV1f.y,PV1f.z);
|
||||
R0f.w = R4f.w;
|
||||
// 3
|
||||
R1f.xyz = vec3(R3f.z,R3f.y,R3f.y);
|
||||
R1f.w = R3f.y;
|
||||
// export
|
||||
//passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z*1.1, R0f.w)*0.93;
|
||||
passPixelColor0 = vec4(R0f.x*skyboxRed, R0f.y*skyboxGreen, R0f.z*skyboxBlue*1.1, R0f.w)*skyboxMix*0.93;
|
||||
passPixelColor1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
|
||||
}
|
@ -1,6 +1,11 @@
|
||||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
// shader f1a49f43d95bec30 //skybox
|
||||
const float skyboxRed = float($skyboxRed);
|
||||
const float skyboxGreen = float($skyboxGreen);
|
||||
const float skyboxBlue = float($skyboxBlue);
|
||||
const float skyboxMix = float($skyboxMix);
|
||||
|
||||
uniform ivec4 uf_remappedPS[2];
|
||||
layout(location = 0) out vec4 passPixelColor0;
|
||||
layout(location = 1) out vec4 passPixelColor1;
|
||||
@ -47,6 +52,7 @@ R2f.w = R0f.w;
|
||||
R3f.xyz = vec3(R1f.x,R1f.y,R1f.y);
|
||||
R3f.w = R1f.z;
|
||||
// export
|
||||
passPixelColor0 = vec4(R2f.x*0.92, R2f.y*0.9, R2f.z*1.1, R2f.w)*0.75;
|
||||
//passPixelColor0 = vec4(R2f.x*0.92, R2f.y*0.9, R2f.z*1.1, R2f.w)*0.75;
|
||||
passPixelColor0 = vec4(R2f.x*skyboxRed*0.92, R2f.y*skyboxGreen*0.9, R2f.z*skyboxBlue*1.1, R2f.w)*skyboxMix*0.75;
|
||||
passPixelColor1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
|
||||
}
|
@ -5,7 +5,7 @@
|
||||
|
||||
uniform vec2 uf_fragCoordScale;
|
||||
|
||||
const float hazeFactor = $hazeFactor;
|
||||
const float hazeFactor = 0.1;
|
||||
|
||||
const float gamma = $gamma; // 1.0 is neutral Botw is already colour graded at this stage
|
||||
const float exposure = $exposure; // 1.0 is neutral
|
@ -1,7 +1,7 @@
|
||||
[Definition]
|
||||
titleIds = 0005000010143400,0005000010143600,0005000010143500
|
||||
name = Contrasty
|
||||
path = "The Legend of Zelda: The Wind Waker HD/Enhancements/Contrasty"
|
||||
path = "The Legend of Zelda: The Wind Waker HD/Enhancements/Contrasty v1.1"
|
||||
description = This pack tweaks the colors and contrast to whatever preset you set it as. You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs. Enabling will ignore your other AA settings.
|
||||
version = 3
|
||||
|
||||
@ -14,7 +14,7 @@ $redMid = 1.0
|
||||
$greenMid = 1.0
|
||||
$blueMid = 1.0
|
||||
$redHilight = 1.0
|
||||
$greenHilight = 1.0
|
||||
$greenHilight =1.0
|
||||
$blueHilight = 1.0
|
||||
|
||||
$contrastCurve = 0.0
|
||||
@ -27,27 +27,41 @@ $crushContrast = 0.0
|
||||
$bleach = 1.0
|
||||
$sharp_mix = 0.0
|
||||
|
||||
$skyboxRed = 1.0
|
||||
$skyboxGreen = 1.05
|
||||
$skyboxBlue = 0.9
|
||||
$skyboxMix = 1.05
|
||||
$AO = 1.0
|
||||
$beach = 1.0
|
||||
|
||||
[Preset]
|
||||
name = Some Contrast
|
||||
name = Less sky bloom
|
||||
$redShadows = 1.0
|
||||
$greenShadows = 0.99
|
||||
$greenShadows = 1.0
|
||||
$blueSadows = 1.0
|
||||
$redMid = 1.0
|
||||
$greenMid = 0.99
|
||||
$greenMid = 1.0
|
||||
$blueMid = 1.0
|
||||
$redHilight = 0.97
|
||||
$greenHilight = 0.97
|
||||
$blueHilight = 0.97
|
||||
$redHilight = 1.0
|
||||
$greenHilight =1.0
|
||||
$blueHilight = 1.0
|
||||
|
||||
$contrastCurve = 0.4
|
||||
$hazeFactor = 0.25
|
||||
$bloom = 0.85
|
||||
$gamma = 1.1
|
||||
$exposure = 0.975
|
||||
$vibrance = 0.05
|
||||
$crushContrast = 0.00
|
||||
$bleach = 0.85
|
||||
$sharp_mix = 0.1
|
||||
$contrastCurve = 0.2
|
||||
$hazeFactor = 1.0
|
||||
$bloom = 1.0
|
||||
$gamma = 1.05
|
||||
$exposure = 1.0
|
||||
$vibrance = 0.0
|
||||
$crushContrast = 0.0
|
||||
$bleach = 1.0
|
||||
$sharp_mix = 0.0
|
||||
|
||||
$skyboxRed = 1.0
|
||||
$skyboxGreen = 1.05
|
||||
$skyboxBlue = 0.9
|
||||
$skyboxMix = 0.775
|
||||
$AO = 1.0
|
||||
$beach = 1.0
|
||||
|
||||
[Preset]
|
||||
name = High Contrasty
|
||||
@ -57,44 +71,58 @@ $blueSadows = 1.0
|
||||
$redMid = 0.99
|
||||
$greenMid = 0.99
|
||||
$blueMid = 0.99
|
||||
$redHilight = 1.0
|
||||
$greenHilight = 1.0
|
||||
$redHilight = 1.1
|
||||
$greenHilight =1.0
|
||||
$blueHilight = 1.0
|
||||
|
||||
$contrastCurve = 0.4
|
||||
$hazeFactor = 0.25
|
||||
$bloom = 0.85
|
||||
$gamma = 1.12
|
||||
$gamma = 0.98
|
||||
$exposure = 1.01
|
||||
$vibrance = 0.15
|
||||
$vibrance = 0.25
|
||||
$crushContrast = 0.00
|
||||
$bleach = 0.85
|
||||
$sharp_mix = 0.1
|
||||
|
||||
$skyboxRed = 1.0
|
||||
$skyboxGreen = 1.0
|
||||
$skyboxBlue = 1.0
|
||||
$skyboxMix = 1.15
|
||||
$AO = 1.0
|
||||
$beach = 1.0
|
||||
|
||||
[Preset]
|
||||
name = Colourful
|
||||
$redShadows = 1.0
|
||||
$greenShadows = 1.0
|
||||
$blueSadows = 1.0
|
||||
$redMid = 0.99
|
||||
$greenMid = 0.98
|
||||
$blueMid = 0.99
|
||||
$redMid = 1.0
|
||||
$greenMid = 0.99
|
||||
$blueMid = 1.0
|
||||
$redHilight = 1.0
|
||||
$greenHilight = 0.99
|
||||
$greenHilight =0.99
|
||||
$blueHilight = 1.0
|
||||
|
||||
$contrastCurve = 0.333
|
||||
$contrastCurve = 0.275
|
||||
$hazeFactor = 0.25
|
||||
$bloom = 0.85
|
||||
$gamma = 1.1
|
||||
$gamma = 0.975
|
||||
$exposure = 1.01
|
||||
$vibrance = 0.35
|
||||
$vibrance = 0.45
|
||||
$crushContrast = 0.00
|
||||
$bleach = 0.85
|
||||
$sharp_mix = 0.1
|
||||
$sharp_mix = 0.0
|
||||
|
||||
$skyboxRed = 1.0
|
||||
$skyboxGreen = 1.0
|
||||
$skyboxBlue = 1.0
|
||||
$skyboxMix = 0.9
|
||||
$AO = 1.0
|
||||
$beach = 1.0
|
||||
|
||||
[Preset]
|
||||
name = Neutral Contrasty
|
||||
name = Gamecube style
|
||||
$redShadows = 1.01
|
||||
$greenShadows = 1.01
|
||||
$blueSadows = 1.01
|
||||
@ -102,81 +130,51 @@ $redMid = 1.0
|
||||
$greenMid = 1.0
|
||||
$blueMid = 1.0
|
||||
$redHilight = 0.99
|
||||
$greenHilight = 0.99
|
||||
$greenHilight =0.99
|
||||
$blueHilight = 0.99
|
||||
|
||||
$contrastCurve = 0.25
|
||||
$hazeFactor = 1.0
|
||||
$bloom = 0.85
|
||||
$gamma = 1.05
|
||||
$bloom = 0.95
|
||||
$gamma = 0.95
|
||||
$exposure = 1.0
|
||||
$vibrance = 0.0
|
||||
$vibrance = 0.175
|
||||
$crushContrast = 0.00
|
||||
$bleach = 0.85
|
||||
$sharp_mix = 0.1
|
||||
|
||||
[Preset]
|
||||
name = Warm
|
||||
$redShadows = 1.0
|
||||
$greenShadows = 1.0
|
||||
$blueSadows = 1.0
|
||||
$redMid = 0.98
|
||||
$greenMid = 0.98
|
||||
$blueMid = 1.0
|
||||
$redHilight = 1.0
|
||||
$greenHilight = 1.0
|
||||
$blueHilight = 1.0
|
||||
|
||||
$contrastCurve = 0.7
|
||||
$hazeFactor = 0.71
|
||||
$bloom = 0.85
|
||||
$gamma = 1.1
|
||||
$exposure = 1.07
|
||||
$vibrance = 0.15
|
||||
$crushContrast = 0.00
|
||||
$bleach = 0.85
|
||||
$sharp_mix = 0.1
|
||||
|
||||
[Preset]
|
||||
name = Cold
|
||||
$redShadows = 0.95
|
||||
$greenShadows = 0.96
|
||||
$blueSadows = 1.03
|
||||
$redMid = 0.95
|
||||
$greenMid = 0.96
|
||||
$blueMid = 1.03
|
||||
$redHilight = 0.98
|
||||
$greenHilight = 0.99
|
||||
$blueHilight = 1.03
|
||||
|
||||
$contrastCurve = 0.2
|
||||
$hazeFactor = 0.1
|
||||
$bloom = 1.0
|
||||
$gamma = 1.05
|
||||
$exposure = 0.99
|
||||
$vibrance = 0.45
|
||||
$crushContrast = 0.0
|
||||
$bleach = 0.85
|
||||
$sharp_mix = 0.1
|
||||
|
||||
[Preset]
|
||||
name = GameCube Color Grading
|
||||
$redShadows = 1.0
|
||||
$greenShadows = 1.0
|
||||
$blueSadows = 1.0
|
||||
$redMid = 1.0
|
||||
$greenMid = 1.0
|
||||
$blueMid = 1.0
|
||||
$redHilight = 1.0
|
||||
$greenHilight = 1.0
|
||||
$blueHilight = 1.0
|
||||
|
||||
$contrastCurve = 0.0
|
||||
$hazeFactor = 1.0
|
||||
$bloom = 1.0
|
||||
$gamma = 0.85
|
||||
$exposure = 1.02
|
||||
$vibrance = 0.0175
|
||||
$crushContrast = 0.0
|
||||
$bleach = 1.0
|
||||
$sharp_mix = 0.0
|
||||
|
||||
$skyboxRed = 1.1
|
||||
$skyboxGreen = 0.95
|
||||
$skyboxBlue = 1.1
|
||||
$skyboxMix = 0.75
|
||||
$AO = 0.5
|
||||
$beach = 0.85
|
||||
|
||||
[Preset]
|
||||
name = Gangnam style
|
||||
$redShadows = 0.9
|
||||
$greenShadows = 0.91
|
||||
$blueSadows = 0.94
|
||||
$redMid = 1.4
|
||||
$greenMid = 1.0
|
||||
$blueMid = 1.3
|
||||
$redHilight = 0.99
|
||||
$greenHilight =0.99
|
||||
$blueHilight = 0.99
|
||||
|
||||
$contrastCurve = 1.0
|
||||
$hazeFactor = 1.0
|
||||
$bloom = 0.95
|
||||
$gamma = 0.95
|
||||
$exposure = 1.05
|
||||
$vibrance = 1.1
|
||||
$crushContrast = 0.00
|
||||
$bleach = 0.85
|
||||
$sharp_mix = 0.9
|
||||
|
||||
$skyboxRed = 1.5
|
||||
$skyboxGreen = 0.95
|
||||
$skyboxBlue = 1.1
|
||||
$skyboxMix = 1.5
|
||||
$AO = 1.5
|
||||
$beach = 1.1
|
29
Enhancements/WindWakerHD_Resolution_Shadows/rules.txt
Normal file
29
Enhancements/WindWakerHD_Resolution_Shadows/rules.txt
Normal file
@ -0,0 +1,29 @@
|
||||
[Definition]
|
||||
titleIds = 0005000010143500 # replace with fulltitleID
|
||||
name = Resolution
|
||||
path = "The Legend of Zelda: The Wind Waker HD/Graphics/Shadow resolution"
|
||||
description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution.
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
name = 1024x1024 (1x, Default)
|
||||
$shadowRes = 1
|
||||
|
||||
[Preset]
|
||||
name = 512x512 (0.5x) Downscale
|
||||
$shadowRes = 0.5
|
||||
|
||||
[Preset]
|
||||
name = 2048x2048 (2x) - Good balance
|
||||
$shadowRes = 2
|
||||
|
||||
[Preset]
|
||||
name = 4096x4096 (4x)
|
||||
$shadowRes = 4
|
||||
|
||||
[TextureRedefine] #Shadows x3 Lods
|
||||
width = 1024
|
||||
height = 1024
|
||||
formats = 0x005 #,0x034,0x431,0x034
|
||||
overwriteWidth = $shadowRes * 1024
|
||||
overwriteHeight = $shadowRes * 1024
|
@ -1,107 +0,0 @@
|
||||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
#extension GL_ARB_shading_language_packing : enable
|
||||
// shader 4c426260188ace42
|
||||
//3step vertical shadow n AO blur
|
||||
const float resXScale = (float($height)/float($gameHeight));
|
||||
uniform ivec4 uf_remappedVS[5];
|
||||
uniform vec2 uf_windowSpaceToClipSpaceTransform;
|
||||
layout(location = 0) in uvec4 attrDataSem0;
|
||||
out gl_PerVertex
|
||||
{
|
||||
vec4 gl_Position;
|
||||
float gl_PointSize;
|
||||
};
|
||||
layout(location = 0) out vec4 passParameterSem0;
|
||||
int clampFI32(int v)
|
||||
{
|
||||
if( v == 0x7FFFFFFF )
|
||||
return floatBitsToInt(1.0);
|
||||
else if( v == 0xFFFFFFFF )
|
||||
return floatBitsToInt(0.0);
|
||||
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
|
||||
}
|
||||
float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));}
|
||||
void main()
|
||||
{
|
||||
vec4 R0f = vec4(0.0);
|
||||
vec4 R1f = vec4(0.0);
|
||||
vec4 R126f = vec4(0.0);
|
||||
vec4 R127f = vec4(0.0);
|
||||
uvec4 attrDecoder;
|
||||
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
|
||||
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
|
||||
float PS0f = 0.0, PS1f = 0.0;
|
||||
vec4 tempf = vec4(0.0);
|
||||
float tempResultf;
|
||||
int tempResulti;
|
||||
ivec4 ARi = ivec4(0);
|
||||
bool predResult = true;
|
||||
vec3 cubeMapSTM;
|
||||
int cubeMapFaceId;
|
||||
R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID));
|
||||
attrDecoder.xyz = attrDataSem0.xyz;
|
||||
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
|
||||
attrDecoder.w = 0;
|
||||
R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0)));
|
||||
// 0
|
||||
R127f.x = -(R1f.y);
|
||||
PV0f.x = R127f.x;
|
||||
R127f.y = (R1f.x > 0.0)?1.0:0.0;
|
||||
R127f.y /= 2.0;
|
||||
R126f.z = (0.0 > R1f.x)?1.0:0.0;
|
||||
R126f.z /= 2.0;
|
||||
R127f.w = 1.0;
|
||||
PV0f.w = R127f.w;
|
||||
R126f.x = intBitsToFloat(uf_remappedVS[0].w) * intBitsToFloat(0x3fae8a72)/resXScale; //vert
|
||||
PS0f = R126f.x;
|
||||
// 1
|
||||
R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w)));
|
||||
PV1f.x = R0f.x;
|
||||
PV1f.y = R0f.x;
|
||||
PV1f.z = R0f.x;
|
||||
PV1f.w = R0f.x;
|
||||
R127f.z = (PV0f.x > 0.0)?1.0:0.0;
|
||||
R127f.z /= 2.0;
|
||||
PS1f = R127f.z;
|
||||
// 2
|
||||
tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)));
|
||||
PV0f.x = tempf.x;
|
||||
PV0f.y = tempf.x;
|
||||
PV0f.z = tempf.x;
|
||||
PV0f.w = tempf.x;
|
||||
R0f.y = tempf.x;
|
||||
PS0f = (0.0 > R127f.x)?1.0:0.0;
|
||||
PS0f /= 2.0;
|
||||
// 3
|
||||
backupReg0f = R127f.z;
|
||||
tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)));
|
||||
PV1f.x = tempf.x;
|
||||
PV1f.y = tempf.x;
|
||||
PV1f.z = tempf.x;
|
||||
PV1f.w = tempf.x;
|
||||
R0f.z = tempf.x;
|
||||
R127f.z = backupReg0f + -(PS0f);
|
||||
PS1f = R127f.z;
|
||||
// 4
|
||||
tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w)));
|
||||
PV0f.x = tempf.x;
|
||||
PV0f.y = tempf.x;
|
||||
PV0f.z = tempf.x;
|
||||
PV0f.w = tempf.x;
|
||||
R0f.w = tempf.x;
|
||||
PS0f = R127f.y + -(R126f.z);
|
||||
// 5
|
||||
R1f.x = PS0f + 0.5;
|
||||
PV1f.y = R127f.z + 0.5;
|
||||
// 6
|
||||
R1f.y = PV1f.y + -(R126f.x);
|
||||
R1f.z = PV1f.y + R126f.x;
|
||||
R1f.w = PV1f.y;
|
||||
// export
|
||||
gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
||||
// export
|
||||
passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
|
||||
// 0
|
||||
}
|
@ -5,7 +5,7 @@
|
||||
// shader 4ffa96d07cd53c34
|
||||
|
||||
const float resXScale = (float($height)/float($gameHeight));
|
||||
const float resYScale = (float($width)/float($gameWidth));
|
||||
const float resYScale = (float($height)/float($gameHeight));
|
||||
|
||||
|
||||
//box low res (bloom?)
|
||||
|
@ -2,9 +2,9 @@
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
#extension GL_ARB_shading_language_packing : enable
|
||||
// shader 842a19b509f8b91a //vertical pass stars
|
||||
// shader 842a19b509f8b91a //vertical pass bloom
|
||||
|
||||
const float resYScale = (float($width)/float($gameWidth));
|
||||
const float resYScale = (float($height)/float($gameHeight));
|
||||
|
||||
uniform ivec4 uf_remappedVS[1];
|
||||
uniform vec2 uf_windowSpaceToClipSpaceTransform;
|
||||
|
22
Resolutions/WindWakerHD_Resolution/WWHD_Readme.md
Normal file
22
Resolutions/WindWakerHD_Resolution/WWHD_Readme.md
Normal file
@ -0,0 +1,22 @@
|
||||
------
|
||||
### TLoZ Wind Waker HD
|
||||
------
|
||||
There are some issues with AO and light sources, to mitigate this some “sub” viewports ned to scale evenly. XCX uses a similar approach to get smooth shadow transitions.
|
||||
|
||||
Example:
|
||||
[Preset]
|
||||
name = 3440x1440 (21:9)
|
||||
$width = 3440
|
||||
$height = 1440
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$lightSource = 1.5
|
||||
$scaleShader = (2560.0/3440.0)
|
||||
$aspectRatio = (43.0/18.0)
|
||||
|
||||
Base resolution is 2560x1440 -> Uw patch res 3440
|
||||
AO needs to be 2160 = 1440 * $lightSource = 1.5
|
||||
We then need to scale back ultrawide to original aspect for all viewports using AO / light sources
|
||||
2560 = 3440 *$scaleShader (2560.0/3440.0)
|
||||
|
||||
All AO shader scaling has also been removed, currently they break more than they fix..
|
@ -1,78 +0,0 @@
|
||||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_shading_language_packing : enable
|
||||
// shader d283b9338c6b10c5
|
||||
//AO noise/de-banding scaling is broken in 1.4
|
||||
const float resScale = ($height/$gameHeight)*$internalRes;
|
||||
uniform ivec4 uf_remappedVS[1];
|
||||
uniform vec2 uf_windowSpaceToClipSpaceTransform;
|
||||
layout(location = 0) in uvec4 attrDataSem0;
|
||||
layout(location = 1) in uvec4 attrDataSem1;
|
||||
out gl_PerVertex
|
||||
{
|
||||
vec4 gl_Position;
|
||||
float gl_PointSize;
|
||||
};
|
||||
layout(location = 0) out vec4 passParameterSem1;
|
||||
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);
|
||||
uvec4 attrDecoder;
|
||||
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
|
||||
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
|
||||
float PS0f = 0.0, PS1f = 0.0;
|
||||
vec4 tempf = vec4(0.0);
|
||||
float tempResultf;
|
||||
int tempResulti;
|
||||
ivec4 ARi = ivec4(0);
|
||||
bool predResult = true;
|
||||
vec3 cubeMapSTM;
|
||||
int cubeMapFaceId;
|
||||
R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID));
|
||||
attrDecoder.xyz = attrDataSem0.xyz;
|
||||
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
|
||||
attrDecoder.w = 0;
|
||||
R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0)));
|
||||
attrDecoder.xy = attrDataSem1.xy;
|
||||
attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
|
||||
attrDecoder.z = 0;
|
||||
attrDecoder.w = 0;
|
||||
R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0)));
|
||||
// 0
|
||||
backupReg0f = R1f.x;
|
||||
backupReg1f = R1f.y;
|
||||
R1f.x = backupReg0f;
|
||||
R1f.x *= 2.0;
|
||||
R1f.y = backupReg1f;
|
||||
R1f.y *= 2.0;
|
||||
R1f.z = 0.0;
|
||||
R1f.w = 1.0;
|
||||
PS0f = 1.0 / intBitsToFloat(uf_remappedVS[0].x)*resScale;
|
||||
// 1
|
||||
PV1f.w = mul_nonIEEE(R2f.x, PS0f);
|
||||
PS1f = 1.0 / intBitsToFloat(uf_remappedVS[0].y)*resScale;
|
||||
// 2
|
||||
PV0f.y = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedVS[0].w));
|
||||
PV0f.z = mul_nonIEEE(R2f.y, PS1f);
|
||||
// 3
|
||||
PV1f.x = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[0].w));
|
||||
R2f.z = PV0f.y;
|
||||
// 4
|
||||
R2f.w = PV1f.x;
|
||||
// export
|
||||
gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
|
||||
// export
|
||||
passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
||||
// 0
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
#extension GL_ARB_shading_language_packing : enable
|
||||
// shader d283b9338c6b10c5
|
||||
uniform ivec4 uf_remappedVS[1];
|
||||
uniform vec2 uf_windowSpaceToClipSpaceTransform;
|
||||
layout(location = 0) in uvec4 attrDataSem0;
|
||||
layout(location = 1) in uvec4 attrDataSem1;
|
||||
out gl_PerVertex
|
||||
{
|
||||
vec4 gl_Position;
|
||||
float gl_PointSize;
|
||||
};
|
||||
layout(location = 0) out vec4 passParameterSem1;
|
||||
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);
|
||||
uvec4 attrDecoder;
|
||||
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
|
||||
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
|
||||
float PS0f = 0.0, PS1f = 0.0;
|
||||
vec4 tempf = vec4(0.0);
|
||||
float tempResultf;
|
||||
int tempResulti;
|
||||
ivec4 ARi = ivec4(0);
|
||||
bool predResult = true;
|
||||
vec3 cubeMapSTM;
|
||||
int cubeMapFaceId;
|
||||
R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID));
|
||||
attrDecoder.xyz = attrDataSem0.xyz;
|
||||
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
|
||||
attrDecoder.w = 0;
|
||||
R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0)));
|
||||
attrDecoder.xy = attrDataSem1.xy;
|
||||
attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
|
||||
attrDecoder.z = 0;
|
||||
attrDecoder.w = 0;
|
||||
R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0)));
|
||||
// 0
|
||||
backupReg0f = R1f.x;
|
||||
backupReg1f = R1f.y;
|
||||
R1f.x = backupReg0f;
|
||||
R1f.x *= 2.0;
|
||||
R1f.y = backupReg1f;
|
||||
R1f.y *= 2.0;
|
||||
R1f.z = 0.0;
|
||||
R1f.w = 1.0;
|
||||
PS0f = 1.0 / intBitsToFloat(uf_remappedVS[0].x);
|
||||
// 1
|
||||
PV1f.w = mul_nonIEEE(R2f.x, PS0f);
|
||||
PS1f = 1.0 / intBitsToFloat(uf_remappedVS[0].y);
|
||||
// 2
|
||||
PV0f.y = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedVS[0].w));
|
||||
PV0f.z = mul_nonIEEE(R2f.y, PS1f);
|
||||
// 3
|
||||
PV1f.x = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[0].w));
|
||||
R2f.z = PV0f.y;
|
||||
// 4
|
||||
R2f.w = PV1f.x;
|
||||
// export
|
||||
gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
|
||||
// export
|
||||
passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
|
||||
// 0
|
||||
}
|
@ -1,110 +0,0 @@
|
||||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
#extension GL_ARB_shading_language_packing : enable
|
||||
// shader d9c81460d6984bb2
|
||||
//3step shadow n AO blur horiz
|
||||
const float resYScale = (float($width)/float($gameWidth));
|
||||
uniform ivec4 uf_remappedVS[5];
|
||||
uniform vec2 uf_windowSpaceToClipSpaceTransform;
|
||||
layout(location = 0) in uvec4 attrDataSem0;
|
||||
out gl_PerVertex
|
||||
{
|
||||
vec4 gl_Position;
|
||||
float gl_PointSize;
|
||||
};
|
||||
layout(location = 0) out vec4 passParameterSem0;
|
||||
int clampFI32(int v)
|
||||
{
|
||||
if( v == 0x7FFFFFFF )
|
||||
return floatBitsToInt(1.0);
|
||||
else if( v == 0xFFFFFFFF )
|
||||
return floatBitsToInt(0.0);
|
||||
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
|
||||
}
|
||||
float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));}
|
||||
void main()
|
||||
{
|
||||
vec4 R0f = vec4(0.0);
|
||||
vec4 R1f = vec4(0.0);
|
||||
vec4 R126f = vec4(0.0);
|
||||
vec4 R127f = vec4(0.0);
|
||||
uvec4 attrDecoder;
|
||||
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
|
||||
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
|
||||
float PS0f = 0.0, PS1f = 0.0;
|
||||
vec4 tempf = vec4(0.0);
|
||||
float tempResultf;
|
||||
int tempResulti;
|
||||
ivec4 ARi = ivec4(0);
|
||||
bool predResult = true;
|
||||
vec3 cubeMapSTM;
|
||||
int cubeMapFaceId;
|
||||
R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID));
|
||||
attrDecoder.xyz = attrDataSem0.xyz;
|
||||
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
|
||||
attrDecoder.w = 0;
|
||||
R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0)));
|
||||
// 0
|
||||
R127f.x = (R1f.x > 0.0)?1.0:0.0;
|
||||
R127f.x /= 2.0;
|
||||
R127f.y = -(R1f.y);
|
||||
PV0f.y = R127f.y;
|
||||
R127f.z = (0.0 > R1f.x)?1.0:0.0;
|
||||
R127f.z /= 2.0;
|
||||
R127f.w = 1.0;
|
||||
PV0f.w = R127f.w;
|
||||
R126f.x = intBitsToFloat(uf_remappedVS[0].z) * intBitsToFloat(0x3fae8a72)/resYScale; //horizontal
|
||||
PS0f = R126f.x;
|
||||
// 1
|
||||
R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w)));
|
||||
PV1f.x = R0f.x;
|
||||
PV1f.y = R0f.x;
|
||||
PV1f.z = R0f.x;
|
||||
PV1f.w = R0f.x;
|
||||
R126f.w = (PV0f.y > 0.0)?1.0:0.0;
|
||||
R126f.w /= 2.0;
|
||||
PS1f = R126f.w;
|
||||
// 2
|
||||
backupReg0f = R127f.y;
|
||||
tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)));
|
||||
PV0f.x = tempf.x;
|
||||
PV0f.y = tempf.x;
|
||||
PV0f.z = tempf.x;
|
||||
PV0f.w = tempf.x;
|
||||
R0f.y = tempf.x;
|
||||
R127f.y = (0.0 > backupReg0f)?1.0:0.0;
|
||||
R127f.y /= 2.0;
|
||||
PS0f = R127f.y;
|
||||
// 3
|
||||
backupReg0f = R127f.x;
|
||||
tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)));
|
||||
PV1f.x = tempf.x;
|
||||
PV1f.y = tempf.x;
|
||||
PV1f.z = tempf.x;
|
||||
PV1f.w = tempf.x;
|
||||
R0f.z = tempf.x;
|
||||
R127f.x = backupReg0f + -(R127f.z);
|
||||
PS1f = R127f.x;
|
||||
// 4
|
||||
tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w)));
|
||||
PV0f.x = tempf.x;
|
||||
PV0f.y = tempf.x;
|
||||
PV0f.z = tempf.x;
|
||||
PV0f.w = tempf.x;
|
||||
R0f.w = tempf.x;
|
||||
PS0f = R126f.w + -(R127f.y);
|
||||
// 5
|
||||
PV1f.y = PS0f + 0.5;
|
||||
PV1f.z = R127f.x + 0.5;
|
||||
// 6
|
||||
R1f.x = PV1f.y;
|
||||
R1f.y = PV1f.z + -(R126f.x);
|
||||
R1f.z = PV1f.z + R126f.x;
|
||||
R1f.w = PV1f.z;
|
||||
// export
|
||||
gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
|
||||
// export
|
||||
passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
|
||||
// 0
|
||||
}
|
@ -1,17 +1,17 @@
|
||||
[WWHDAspectEUR]
|
||||
moduleMatches = 0xB7E748DE
|
||||
0x1004AAF0 = .float $width/$height
|
||||
0x101417E0 = .float $width/$height
|
||||
0x101658A8 = .float $width/$height
|
||||
0x1004AAF0 = .float ($aspectRatio)
|
||||
0x101417E0 = .float ($aspectRatio)
|
||||
0x101658A8 = .float ($aspectRatio)
|
||||
|
||||
[WWHDAspectJAP]
|
||||
moduleMatches = 0x74BD3F6A
|
||||
0x1004AAF0 = .float $width/$height
|
||||
0x101417F8 = .float $width/$height
|
||||
0x101658C0 = .float $width/$height
|
||||
0x1004AAF0 = .float ($aspectRatio)
|
||||
0x101417F8 = .float ($aspectRatio)
|
||||
0x101658C0 = .float ($aspectRatio)
|
||||
|
||||
[WWHDAspectUSA]
|
||||
moduleMatches = 0x475BD29F
|
||||
0x1004AAF0 = .float $width/$height
|
||||
0x101417D0 = .float $width/$height
|
||||
0x10165898 = .float $width/$height
|
||||
0x1004AAF0 = .float ($aspectRatio)
|
||||
0x101417D0 = .float ($aspectRatio)
|
||||
0x10165898 = .float ($aspectRatio)
|
@ -1,51 +1,19 @@
|
||||
[Definition]
|
||||
titleIds = 0005000010143400,0005000010143600,0005000010143500
|
||||
name = Resolution
|
||||
path = "The Legend of Zelda: The Wind Waker HD/Graphics/Resolution"
|
||||
path = "The Legend of Zelda: The Wind Waker HD/Graphics/Resolution"
|
||||
description = Changes the resolution of the game.
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
name = 1920x1080 (HD Default)
|
||||
name = 1920x1080 Default
|
||||
$width = 1920
|
||||
$height = 1080
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.5
|
||||
$scaleShader = 1.0
|
||||
|
||||
// Performance
|
||||
|
||||
[Preset]
|
||||
name = 320x180
|
||||
$width = 320
|
||||
$height = 180
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.5
|
||||
$scaleShader = 1.0
|
||||
|
||||
[Preset]
|
||||
name = 640x360
|
||||
$width = 640
|
||||
$height = 360
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.5
|
||||
$scaleShader = 1.0
|
||||
|
||||
[Preset]
|
||||
name = 960x540
|
||||
$width = 960
|
||||
$height = 540
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.5
|
||||
$lightSource = 1.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 1280x720
|
||||
@ -53,103 +21,75 @@ $width = 1280
|
||||
$height = 720
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.5
|
||||
$lightSource = 1.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 1600x900
|
||||
$width = 1600
|
||||
$height = 900
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.65
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 1.0
|
||||
$scaleShader = 1.0
|
||||
|
||||
// Common HD Resolutions
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 1920x1080 (HD) x2 sub scaling
|
||||
$width = 1920
|
||||
name = 2732x1536
|
||||
$width = 2732
|
||||
$height = 1536
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 1.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 3200x1800
|
||||
$width = 3200
|
||||
$height = 1800
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 1.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 3840x2160
|
||||
$width = 3840
|
||||
$height = 2160
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 1.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 5120x2880
|
||||
$width = 5120
|
||||
$height = 2880
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 1.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
|
||||
#Resolutions |Aspect ratio
|
||||
#2560×1080, 5120×2160, 8192×3456 |64:27 (2.370)
|
||||
#3440×1440 |43:18 (2.38)
|
||||
#1920×800, 3840×1600, 7680×3200 |12:5 (2.4)
|
||||
|
||||
[Preset]
|
||||
name = ---- Ultra wide 21:9 ----
|
||||
$width = 2560
|
||||
$height = 1080
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 2
|
||||
$dither = 0.65
|
||||
$scaleShader = 1.0
|
||||
|
||||
[Preset]
|
||||
name = 2560x1440 (2k)
|
||||
$width = 2560
|
||||
$height = 1440
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.66
|
||||
$scaleShader = 1.0 #(1920.0/2560.0)
|
||||
|
||||
[Preset]
|
||||
name = 2560x1440 (2k) x2 sub scaling
|
||||
$width = 2560
|
||||
$height = 1440
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 2
|
||||
$dither = 0.75
|
||||
$lightSource = 2.0
|
||||
$scaleShader = (1920.0/2560.0)
|
||||
|
||||
[Preset]
|
||||
name = 3200x1800 (3k)
|
||||
$width = 3200
|
||||
$height = 1800
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.75
|
||||
$scaleShader = 1.0
|
||||
|
||||
[Preset]
|
||||
name = 3840x2160 (4k - Native x2)
|
||||
$width = 3840
|
||||
$height = 2160
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.76
|
||||
$scaleShader = 1.0
|
||||
|
||||
[Preset]
|
||||
name = 3840x2160 (4k - Native x2) x2 sub scaling
|
||||
$width = 3840
|
||||
$height = 2160
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 2
|
||||
$dither = 0.745
|
||||
$scaleShader = 1.0
|
||||
|
||||
[Preset]
|
||||
name = 5120x2880 (5k)
|
||||
$width = 5120
|
||||
$height = 2880
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.95
|
||||
$scaleShader = 1.0
|
||||
|
||||
[Preset]
|
||||
name = 5120x2880 (5k)x2 sub scaling
|
||||
$width = 5120
|
||||
$height = 2880
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 2
|
||||
$dither = 0.95
|
||||
$scaleShader = 1.0
|
||||
|
||||
// Common Ultrawide Resolutions
|
||||
$aspectRatio = (64.0/27.0) #LG
|
||||
|
||||
[Preset]
|
||||
name = 2560x1080 (21:9 HD)
|
||||
@ -157,9 +97,9 @@ $width = 2560
|
||||
$height = 1080
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.5
|
||||
$lightSource = 2.0
|
||||
$scaleShader = (1920.0/2560.0)
|
||||
$aspectRatio = (64.0/27.0) #LG
|
||||
|
||||
[Preset]
|
||||
name = 3440x1440 (21:9)
|
||||
@ -167,9 +107,19 @@ $width = 3440
|
||||
$height = 1440
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.66
|
||||
$lightSource = 1.5
|
||||
$scaleShader = (2560.0/3440.0)
|
||||
$aspectRatio = (43.0/18.0)
|
||||
|
||||
[Preset]
|
||||
name = 3840x1600 (21:9)
|
||||
$width = 3840
|
||||
$height = 1600
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$lightSource = 1.35
|
||||
$scaleShader = (2844.445/3840.0)
|
||||
$aspectRatio = (12.0/5.0)
|
||||
|
||||
[Preset]
|
||||
name = 5160x2160 (4k 21:9)
|
||||
@ -177,191 +127,226 @@ $width = 5160
|
||||
$height = 2160
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.76
|
||||
$lightSource = 1.0
|
||||
$scaleShader = (3840.0/5160.0)
|
||||
|
||||
// 48:9 Aspect Ratio
|
||||
|
||||
#[Preset] ## Too broken, disabled
|
||||
#name = 7680x1440 (48:9)
|
||||
#$width = 7680
|
||||
#$height = 1440
|
||||
#$gameWidth= 1920
|
||||
#$gameHeight= 1080
|
||||
#$internalRes = 1
|
||||
#$dither = 0.66
|
||||
#$scaleShader = (2560.0/7680.0)
|
||||
$aspectRatio = (64.0/27.0) #LG
|
||||
|
||||
[Preset]
|
||||
name = 5760x1080 (48:9 HD)
|
||||
$width = 5760
|
||||
name = ---- Custom resolutions ----
|
||||
$width = 1920
|
||||
$height = 1080
|
||||
$gameWidth= 1920
|
||||
$gameHeight= 1080
|
||||
$internalRes = 1
|
||||
$dither = 0.5
|
||||
$scaleShader = (1920.0/5760.0)
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 2.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 1920x1080 AO fix - Light res x2
|
||||
$width = 1920
|
||||
$height = 1080
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 2.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 2560x1440 AO fix
|
||||
$width = 2560
|
||||
$height = 1440
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 1.5
|
||||
$scaleShader = 1.0 #(1088.0/1440.0)
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 3840x2160 AO fix - light res x2
|
||||
$width = 3840
|
||||
$height = 2160
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 2.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 1920x2160 vert x2 SSAA - light res x2
|
||||
$width = 1920
|
||||
$height = 2160
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 2.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
[Preset]
|
||||
name = 3840x4320 vert x2 SSAA - light res x2
|
||||
$width = 3840
|
||||
$height = 4320 # x2
|
||||
$gameWidth = 1920
|
||||
$gameHeight = 1080
|
||||
$lightSource = 2.0
|
||||
$scaleShader = 1.0
|
||||
$aspectRatio = (16.0/9.0)
|
||||
|
||||
#[TextureRedefine]
|
||||
#formats = 0x01a
|
||||
#overwriteFormat = 0x01f
|
||||
|
||||
[TextureRedefine]
|
||||
width = 1920
|
||||
height = 1088
|
||||
#formats = 0x80e,0x019,0x001
|
||||
formatsExcluded = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * 1920
|
||||
overwriteHeight = ($height/$gameHeight) * 1088
|
||||
|
||||
[TextureRedefine]
|
||||
width = 1920
|
||||
height = 1080
|
||||
#formatsExcluded = 0x41A
|
||||
#formats = 0x80e,0x019,0x001
|
||||
formatsExcluded = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * 1920
|
||||
overwriteHeight = ($height/$gameHeight) * 1080
|
||||
|
||||
[TextureRedefine] #Shadows
|
||||
width = 1024
|
||||
height = 1024
|
||||
formats = 0x005 #,0x034,0x431,0x034
|
||||
overwriteWidth = ($width/$gameWidth) * (1024*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (1024*$internalRes)
|
||||
[TextureRedefine] #pictograph texture?
|
||||
width = 1600
|
||||
height = 900
|
||||
#formats =
|
||||
overwriteWidth = ($width/$gameWidth) * 1600
|
||||
overwriteHeight = ($height/$gameHeight) * 900
|
||||
|
||||
[TextureRedefine] #Shadows
|
||||
#[TextureRedefine] #Shadows x3 Lods
|
||||
#width = 1024
|
||||
#height = 1024
|
||||
#formats = 0x005 #,0x034,0x431,0x034
|
||||
#overwriteWidth = ($width/$gameWidth) * 1024
|
||||
#overwriteHeight = ($height/$gameHeight) * 1024
|
||||
|
||||
[TextureRedefine]
|
||||
width = 1024
|
||||
height = 544
|
||||
formats = 0x005,0x80e,0x019,0x001 #,0x034,0x431,0x034
|
||||
overwriteWidth = ($width/$gameWidth) * (1024*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (544*$internalRes)
|
||||
formats = 0x001
|
||||
overwriteWidth = ($width/$gameWidth) * (1024*$lightSource*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (544*$lightSource)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 960
|
||||
height = 544
|
||||
#formats = 0x816,0x806,0x019,0x01a,0x001,0x80e
|
||||
overwriteWidth = ($width/$gameWidth) * (960*$lightSource*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (544*$lightSource)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 960
|
||||
height = 540
|
||||
#formats = 0x816,0x806,0x019,0x01a
|
||||
overwriteWidth = ($width/$gameWidth) * (960*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (540*$internalRes)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 960
|
||||
height = 544
|
||||
#formats = 0x816,0x806,0x019,0x01a
|
||||
overwriteWidth = ($width/$gameWidth) * (960*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (544*$internalRes)
|
||||
#formats = 0x816,0x806,0x019,0x01a,0x001,0x80e
|
||||
overwriteWidth = ($width/$gameWidth) * (960*$lightSource*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (540*$lightSource)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 864
|
||||
height = 480
|
||||
#formats =
|
||||
#formats = 0x019,0x80e
|
||||
overwriteWidth = ($width/$gameWidth) * 864
|
||||
overwriteHeight = ($height/$gameHeight) * 480
|
||||
|
||||
[TextureRedefine]
|
||||
width = 854
|
||||
height = 480
|
||||
#formats =
|
||||
#formats = 0x019,0x80e
|
||||
overwriteWidth = ($width/$gameWidth) * 854
|
||||
overwriteHeight = ($height/$gameHeight) * 480
|
||||
|
||||
[TextureRedefine]
|
||||
#[TextureRedefine] #pictograph texture?
|
||||
#width = 800
|
||||
#height = 450
|
||||
##formats =
|
||||
#overwriteWidth = ($width/$gameWidth) * 800
|
||||
#overwriteHeight = ($height/$gameHeight) * 450
|
||||
|
||||
[TextureRedefine] #
|
||||
width = 512
|
||||
height = 512
|
||||
formats = 0x806,0x019,0x01a
|
||||
overwriteWidth = ($width/$gameWidth) * (512*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (512*$internalRes)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 480
|
||||
height = 272
|
||||
#formats = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * (480*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (272*$internalRes)
|
||||
formats = 0x019,0x01a
|
||||
overwriteWidth = ($width/$gameWidth) * (512*$lightSource*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (512*$lightSource)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 480
|
||||
height = 270
|
||||
#formats = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * (480*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (270*$internalRes)
|
||||
|
||||
#[TextureRedefine]
|
||||
#width = 360
|
||||
#height = 346
|
||||
##formats =
|
||||
#overwriteWidth = ($width/$gameWidth) * (360*$internalRes*$scaleShader)
|
||||
#overwriteHeight = ($height/$gameHeight) * (346*$internalRes)
|
||||
overwriteWidth = ($width/$gameWidth) * (480)
|
||||
overwriteHeight = ($height/$gameHeight) * (270)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 256
|
||||
height = 144
|
||||
width = 480
|
||||
height = 272
|
||||
#formats = 0x816
|
||||
#formatsExcluded = 0x01a
|
||||
overwriteWidth = ($width/$gameWidth) * (256*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (144*$internalRes)
|
||||
overwriteWidth = ($width/$gameWidth) * (480)
|
||||
overwriteHeight = ($height/$gameHeight) * (272)
|
||||
|
||||
[TextureRedefine]
|
||||
[TextureRedefine] #
|
||||
width = 256
|
||||
height = 256
|
||||
formats = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * (256*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (256*$internalRes)
|
||||
overwriteWidth = ($width/$gameWidth) * (256)
|
||||
overwriteHeight = ($height/$gameHeight) * (256)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 256
|
||||
height = 144
|
||||
#formats = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * (256*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (144*$internalRes)
|
||||
#formats = 0x816,0x01a
|
||||
overwriteWidth = ($width/$gameWidth) * (256)
|
||||
overwriteHeight = ($height/$gameHeight) * (144)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 240
|
||||
height = 135
|
||||
#formats = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * (240*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (135*$internalRes)
|
||||
#formats = 0x816,0x01a
|
||||
overwriteWidth = ($width/$gameWidth) * (240)
|
||||
overwriteHeight = ($height/$gameHeight) * (135)
|
||||
|
||||
[TextureRedefine]
|
||||
[TextureRedefine] #
|
||||
width = 128
|
||||
height = 128
|
||||
formats = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * (128*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (128*$internalRes)
|
||||
overwriteWidth = ($width/$gameWidth) * (128)
|
||||
overwriteHeight = ($height/$gameHeight) * (128)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 128
|
||||
height = 80
|
||||
#formats = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * (128*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (80*$internalRes)
|
||||
overwriteWidth = ($width/$gameWidth) * (128)
|
||||
overwriteHeight = ($height/$gameHeight) * (80)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 120
|
||||
height = 67
|
||||
#formats =
|
||||
overwriteWidth = ($width/$gameWidth) * (120*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (67*$internalRes)
|
||||
overwriteWidth = ($width/$gameWidth) * (120)
|
||||
overwriteHeight = ($height/$gameHeight) * (67)
|
||||
|
||||
[TextureRedefine]
|
||||
[TextureRedefine] #
|
||||
width = 64
|
||||
height = 64
|
||||
formats = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * (64*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (64*$internalRes)
|
||||
overwriteWidth = ($width/$gameWidth) * (64)
|
||||
overwriteHeight = ($height/$gameHeight) * (64)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 64
|
||||
height = 48
|
||||
#formats =
|
||||
overwriteWidth = ($width/$gameWidth) * (64*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (48*$internalRes)
|
||||
#formats = 0x816
|
||||
overwriteWidth = ($width/$gameWidth) * (64)
|
||||
overwriteHeight = ($height/$gameHeight) * (48)
|
||||
|
||||
[TextureRedefine]
|
||||
width = 60
|
||||
height = 33
|
||||
#formats =
|
||||
overwriteWidth = ($width/$gameWidth) * (60*$internalRes*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (33*$internalRes)
|
||||
|
||||
#[TextureRedefine]
|
||||
#width = 4
|
||||
#height = 4
|
||||
##formats =
|
||||
#overwriteWidth = ($width/$gameWidth) * (4*$internalRes)
|
||||
#overwriteHeight = ($height/$gameHeight) * (4*$internalRes)
|
||||
overwriteWidth = ($width/$gameWidth) * (60)
|
||||
overwriteHeight = ($height/$gameHeight) * (33)
|
||||
|
Loading…
Reference in New Issue
Block a user