Delete Enhancements/WindWakerHD_Contrasty directory

This commit is contained in:
intra0 2024-12-13 22:34:23 -06:00 committed by GitHub
parent c5fc975866
commit 6d6d94dad0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 0 additions and 2325 deletions

View File

@ -1,94 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader 04dcbf2655f94e03 //hoirzon cloud layer lighten up
#ifdef VULKAN
layout(set = 1, binding = 1) uniform ufBlock
{
uniform ivec4 uf_remappedPS[2];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[2];
uniform vec2 uf_fragCoordScale;
#endif
const float skyboxRed = float($skyboxRed);
const float skyboxGreen = float($skyboxGreen);
const float skyboxBlue = float($skyboxBlue);
const float skyboxMix = float($skyboxMix);
TEXTURE_LAYOUT(3, 1, 0) uniform sampler2D textureUnitPS3;
layout(location = 0) in vec4 passParameterSem6;
layout(location = 0) out vec4 passPixelColor0;
layout(location = 1) out vec4 passPixelColor1;
// uf_fragCoordScale was moved to the ufBlock
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);
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 = passParameterSem6;
R0f.xyzw = (texture(textureUnitPS3, R0f.xy).xyzw);
// 0
backupReg0f = R0f.x;
PV0f.x = R0f.w;
PV0f.x = clamp(PV0f.x, 0.0, 1.0);
R2f.y = (intBitsToFloat(uf_remappedPS[0].z) * 0.5 + 0.5);
R1f.x = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[1].x));
PS0f = R1f.x;
// 1
R2f.x = PV0f.x;
R1f.y = mul_nonIEEE(R0f.y, intBitsToFloat(uf_remappedPS[1].y));
PV1f.y = R1f.y;
R1f.z = mul_nonIEEE(R0f.z, intBitsToFloat(uf_remappedPS[1].z));
PV1f.z = R1f.z;
R1f.w = PV0f.x;
PV1f.w = R1f.w;
// 2
R0f.xyz = vec3(R1f.x,PV1f.y,PV1f.z);
R0f.w = PV1f.w;
// 3
R1f.xyz = vec3(R2f.y,R2f.y,R2f.y);
R1f.w = R2f.x;
// export
//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);
}

View File

@ -1,90 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// 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);
#ifdef VULKAN
layout(set = 1, binding = 0) uniform ufBlock
{
uniform ivec4 uf_remappedPS[2];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[2];
uniform vec2 uf_fragCoordScale;
#endif
layout(location = 0) in vec4 passParameterSem1;
layout(location = 0) out vec4 passPixelColor0;
layout(location = 1) out vec4 passPixelColor1;
// uf_fragCoordScale was moved to the ufBlock
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);
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;
// 0
PV0f.x = R0f.w;
PV0f.x = clamp(PV0f.x, 0.0, 1.0);
R1f.y = (intBitsToFloat(uf_remappedPS[0].z) * 0.5 + 0.5);
R0f.x = intBitsToFloat(uf_remappedPS[1].x);
PS0f = R0f.x;
// 1
R0f.yzw = vec3(intBitsToFloat(uf_remappedPS[1].y),intBitsToFloat(uf_remappedPS[1].z),PV0f.x);
PV1f.y = R0f.y;
PV1f.z = R0f.z;
PV1f.w = R0f.w;
R1f.w = PV0f.x;
PS1f = R1f.w;
// 2
R2f.xyz = vec3(R0f.x,PV1f.y,PV1f.z);
R2f.w = PV1f.w;
// 3
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*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);
}

View File

@ -1,115 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// 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);
#ifdef VULKAN
layout(set = 1, binding = 0) uniform ufBlock
{
uniform ivec4 uf_remappedPS[3];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[3];
uniform vec2 uf_fragCoordScale;
#endif
layout(location = 0) in vec4 passParameterSem1;
layout(location = 1) in vec4 passParameterSem2;
layout(location = 2) in vec4 passParameterSem4;
layout(location = 0) out vec4 passPixelColor0;
layout(location = 1) out vec4 passPixelColor1;
// uf_fragCoordScale was moved to the ufBlock
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 R123f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem1;
R1f = passParameterSem2;
R2f = passParameterSem4;
// 0
backupReg0f = R0f.w;
tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(R2f.x,R2f.y,R2f.z,0.0));
PV0f.x = tempf.x;
PV0f.y = tempf.x;
PV0f.z = tempf.x;
PV0f.w = tempf.x;
R0f.w = backupReg0f;
R0f.w = clamp(R0f.w, 0.0, 1.0);
PS0f = R0f.w;
// 1
R127f.x = -(intBitsToFloat(uf_remappedPS[0].y)) + intBitsToFloat(uf_remappedPS[1].y);
R127f.y = -(intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x);
R2f.w = PS0f;
PS1f = sqrt(PV0f.x);
// 2
R126f.x = -(intBitsToFloat(uf_remappedPS[0].z)) + intBitsToFloat(uf_remappedPS[1].z);
R123f.w = (mul_nonIEEE(R1f.x,PS1f) + R1f.y);
R123f.w = clamp(R123f.w, 0.0, 1.0);
PV0f.w = R123f.w;
// 3
PV1f.z = mul_nonIEEE(PV0f.w, PV0f.w);
// 4
R0f.x = (mul_nonIEEE(R127f.y,PV1f.z) + intBitsToFloat(uf_remappedPS[0].x));
R0f.y = (mul_nonIEEE(R127f.x,PV1f.z) + intBitsToFloat(uf_remappedPS[0].y));
R0f.z = (mul_nonIEEE(R126f.x,PV1f.z) + intBitsToFloat(uf_remappedPS[0].z));
// 0
R2f.x = (intBitsToFloat(uf_remappedPS[2].z) * 0.5 + 0.5);
// 1
backupReg0f = R0f.x;
backupReg1f = R0f.y;
backupReg2f = R0f.z;
backupReg3f = R0f.w;
R0f.xyz = vec3(backupReg0f,backupReg1f,backupReg2f);
R0f.w = backupReg3f;
// 2
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*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);
}

View File

@ -1,90 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// 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);
#ifdef VULKAN
layout(set = 1, binding = 0) uniform ufBlock
{
uniform ivec4 uf_remappedPS[3];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[3];
uniform vec2 uf_fragCoordScale;
#endif
layout(location = 0) in vec4 passParameterSem1;
layout(location = 0) out vec4 passPixelColor0;
layout(location = 1) out vec4 passPixelColor1;
// uf_fragCoordScale was moved to the ufBlock
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);
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;
// 0
PV0f.x = mul_nonIEEE(R0f.w, intBitsToFloat(uf_remappedPS[0].x));
PV0f.x = clamp(PV0f.x, 0.0, 1.0);
R1f.y = (intBitsToFloat(uf_remappedPS[1].z) * 0.5 + 0.5);
// 1
R0f.xyz = vec3(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(uf_remappedPS[2].z));
PV1f.x = R0f.x;
PV1f.y = R0f.y;
PV1f.z = R0f.z;
R0f.w = PV0f.x;
PV1f.w = R0f.w;
R1f.w = PV0f.x;
PS1f = R1f.w;
// 2
R2f.xyz = vec3(PV1f.x,PV1f.y,PV1f.z);
R2f.w = PV1f.w;
// 3
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*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);
}

View File

@ -1,302 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader 92d5cf316124c301
//beach cooking
#ifdef VULKAN
layout(set = 1, binding = 5) uniform ufBlock
{
uniform ivec4 uf_remappedPS[7];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[7];
uniform vec2 uf_fragCoordScale;
#endif
TEXTURE_LAYOUT(0, 1, 0) uniform sampler2DArray textureUnitPS0;
TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;
TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;
TEXTURE_LAYOUT(3, 1, 3) uniform sampler2D textureUnitPS3;
TEXTURE_LAYOUT(4, 1, 4) uniform sampler2D textureUnitPS4;
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;
// uf_fragCoordScale was moved to the ufBlock
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);
}

View File

@ -1,71 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader 960d3ef6662043c7//bloom blend
const float skyboxRed = float($skyboxRed);
const float skyboxGreen = float($skyboxGreen);
const float skyboxBlue = float($skyboxBlue);
const float skyboxMix = float($skyboxMix);
TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
#ifdef VULKAN
layout(set = 1, binding = 1) uniform ufBlock
{
uniform vec4 uf_fragCoordScale;
};
#else
uniform vec2 uf_fragCoordScale;
#endif
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);
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;
R0f.xyz = (texture(textureUnitPS0, R0f.xy).xyz);
// 0
backupReg0f = R0f.x;
backupReg1f = R0f.y;
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*skyboxRed, R0f.y*skyboxGreen, R0f.z*skyboxBlue*1.1, R0f.w)*skyboxMix*0.75;
}

View File

@ -1,280 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader b77c717f243c0b08
#ifdef VULKAN
layout(set = 1, binding = 5) uniform ufBlock
{
uniform ivec4 uf_remappedPS[9];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[9];
uniform vec2 uf_fragCoordScale;
#endif
const float skyboxRed = float($skyboxRed);
const float skyboxGreen = float($skyboxGreen);
const float skyboxBlue = float($skyboxBlue);
const float skyboxMix = float($skyboxMix);
TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;
TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;
TEXTURE_LAYOUT(3, 1, 2) uniform sampler2D textureUnitPS3;
TEXTURE_LAYOUT(4, 1, 3) uniform sampler2D textureUnitPS4;
TEXTURE_LAYOUT(5, 1, 4) uniform sampler2D textureUnitPS5;
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 = 4) in vec4 passParameterSem7;
layout(location = 5) in vec4 passParameterSem8;
layout(location = 6) in vec4 passParameterSem9;
layout(location = 0) out vec4 passPixelColor0;
layout(location = 1) out vec4 passPixelColor1;
// uf_fragCoordScale was moved to the ufBlock
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 R122f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R125f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem2;
R1f = passParameterSem4;
R2f = passParameterSem5;
R3f = passParameterSem6;
R4f = passParameterSem7;
R5f = passParameterSem8;
R6f = passParameterSem9;
R5f.yzw = (texture(textureUnitPS4, R5f.xy).yzw);
// 0
R127f.x = R5f.y + -(0.5);
R127f.y = -(R1f.z) + -(intBitsToFloat(0x42700000));
PV0f.z = R5f.w + -(0.5);
R127f.w = R5f.z + -(0.5);
PS0f = 1.0 / R3f.z;
// 1
backupReg0f = R3f.y;
PV1f.x = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedPS[0].z));
PV1f.y = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedPS[0].x));
R3f.z = mul_nonIEEE(R3f.x, PS0f);
R3f.w = 1.0;
R3f.y = mul_nonIEEE(backupReg0f, PS0f);
PS1f = R3f.y;
// 2
R126f.x = R127f.y * intBitsToFloat(0x3dcccccd);
R126f.x = clamp(R126f.x, 0.0, 1.0);
R8f.y = 0.0;
R123f.z = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[0].w)) + PV1f.x);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedPS[0].y)) + PV1f.y);
PV0f.w = R123f.w;
PS0f = 1.0 / R2f.z;
// 3
R123f.x = (mul_nonIEEE(R127f.x,intBitsToFloat(uf_remappedPS[1].y)) + PV0f.z);
PV1f.x = R123f.x;
R123f.y = (mul_nonIEEE(R127f.x,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.w);
PV1f.y = R123f.y;
R5f.z = mul_nonIEEE(R2f.x, PS0f);
R5f.w = mul_nonIEEE(R2f.y, PS0f);
PS1f = exp2(intBitsToFloat(uf_remappedPS[1].z));
PS1f *= 4.0;
// 4
PV0f.x = mul_nonIEEE(-(R1f.z), intBitsToFloat(uf_remappedPS[2].y));
PV0f.y = mul_nonIEEE(PS1f, PV1f.x);
PV0f.z = mul_nonIEEE(PS1f, PV1f.y);
PV0f.w = mul_nonIEEE(-(R1f.z), intBitsToFloat(uf_remappedPS[2].w));
R127f.z = -(R126f.x) + 1.0;
PS0f = R127f.z;
// 5
PV1f.x = PV0f.z * intBitsToFloat(0x3e7f0000);
R123f.y = (mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[2].z)),intBitsToFloat(uf_remappedPS[2].w)) + PV0f.w);
R123f.y = clamp(R123f.y, 0.0, 1.0);
PV1f.y = R123f.y;
R0f.z = (mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[2].x)),intBitsToFloat(uf_remappedPS[2].y)) + PV0f.x);
R0f.z = clamp(R0f.z, 0.0, 1.0);
PV1f.w = PV0f.y * intBitsToFloat(0x3e7f0000);
R2f.x = mul_nonIEEE(R1f.z, R1f.z);
PS1f = R2f.x;
// 6
backupReg0f = R4f.x;
backupReg1f = R4f.y;
R4f.x = backupReg0f + PV1f.x;
R4f.y = backupReg1f + PV1f.w;
R2f.z = R6f.x + PV1f.x;
R2f.w = R6f.y + PV1f.w;
R6f.y = PV1f.y + R127f.z;
R6f.y = clamp(R6f.y, 0.0, 1.0);
PS0f = R6f.y;
R3f.x = (textureLod(textureUnitPS2, R3f.zy,0.0).x);
R6f.x = (textureLod(textureUnitPS2, R3f.zy,R3f.w).x);
R4f.xyzw = (texture(textureUnitPS3, R4f.xy).xyzw);
R7f.xyz = (texture(textureUnitPS5, R2f.zw).xyz);
R5f.x = (texture(textureUnitPS1, R5f.zw).x);
// 0
PV0f.x = -(R3f.x) + R6f.x;
R127f.y = (mul_nonIEEE(-(R0f.z),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(uf_remappedPS[3].z));
PV0f.y = R127f.y;
R126f.z = mul_nonIEEE(R4f.w, intBitsToFloat(uf_remappedPS[4].w));
R126f.z = clamp(R126f.z, 0.0, 1.0);
R122f.x = (mul_nonIEEE(R1f.y,R1f.y) + R2f.x);
PS0f = R122f.x;
// 1
PV1f.x = -(PV0f.y) + 1.0;
PV1f.y = -(intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[4].y);
PV1f.z = -(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[4].x);
R123f.w = (mul_nonIEEE(PV0f.x,R6f.y) + R3f.x);
PV1f.w = R123f.w;
R122f.x = (mul_nonIEEE(R1f.x,R1f.x) + PS0f);
PS1f = R122f.x;
// 2
R127f.x = (mul_nonIEEE(PV1f.z,R4f.x) + intBitsToFloat(uf_remappedPS[5].x));
R127f.x = clamp(R127f.x, 0.0, 1.0);
R126f.y = (mul_nonIEEE(PV1f.y,R4f.y) + intBitsToFloat(uf_remappedPS[5].y));
R126f.y = clamp(R126f.y, 0.0, 1.0);
PV0f.z = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedPS[3].y));
R127f.w = (mul_nonIEEE(PV1f.x,R6f.y) + R127f.y);
PS0f = sqrt(PS1f);
// 3
R126f.x = -(intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[4].z);
R123f.w = (mul_nonIEEE(R0f.x,PS0f) + R0f.y);
R123f.w = clamp(R123f.w, 0.0, 1.0);
PV1f.w = R123f.w;
tempResultf = log2(PV0f.z);
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS1f = tempResultf;
// 4
PV0f.x = mul_nonIEEE(R127f.w, PS1f);
R127f.y = -(intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[6].y);
R127f.z = -(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[6].x);
R0f.w = R126f.z;
R0f.w = clamp(R0f.w, 0.0, 1.0);
R1f.z = mul_nonIEEE(PV1f.w, PV1f.w);
PS0f = R1f.z;
// 5
PV1f.x = -(intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[6].z);
R127f.w = (mul_nonIEEE(R126f.x,R4f.z) + intBitsToFloat(uf_remappedPS[5].z));
R127f.w = clamp(R127f.w, 0.0, 1.0);
R126f.x = exp2(PV0f.x);
PS1f = R126f.x;
// 6
backupReg0f = R127f.y;
backupReg1f = R127f.z;
R127f.y = (mul_nonIEEE(PV1f.x,R7f.z) + intBitsToFloat(uf_remappedPS[5].z));
R127f.y = clamp(R127f.y, 0.0, 1.0);
PV0f.y = R127f.y;
R127f.z = (mul_nonIEEE(backupReg0f,R7f.y) + intBitsToFloat(uf_remappedPS[5].y));
R127f.z = clamp(R127f.z, 0.0, 1.0);
PV0f.z = R127f.z;
R126f.w = (mul_nonIEEE(backupReg1f,R7f.x) + intBitsToFloat(uf_remappedPS[5].x));
R126f.w = clamp(R126f.w, 0.0, 1.0);
PV0f.w = R126f.w;
R8f.w = R0f.w;
PS0f = R8f.w;
// 7
PV1f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), R126f.x);
PV1f.x = clamp(PV1f.x, 0.0, 1.0);
PV1f.y = R127f.w + -(PV0f.y);
PV1f.z = R126f.y + -(PV0f.z);
PV1f.w = R127f.x + -(PV0f.w);
R125f.z = intBitsToFloat(uf_remappedPS[7].y) + R5f.x;
R125f.z = clamp(R125f.z, 0.0, 1.0);
PS1f = R125f.z;
// 8
backupReg0f = R127f.z;
R127f.x = (mul_nonIEEE(PV1f.w,R126f.z) + R126f.w);
R127f.x = clamp(R127f.x, 0.0, 1.0);
PV0f.x = R127f.x;
PV0f.y = PV1f.x + intBitsToFloat(uf_remappedPS[7].x);
PV0f.y = clamp(PV0f.y, 0.0, 1.0);
R127f.z = (mul_nonIEEE(PV1f.y,R126f.z) + R127f.y);
R127f.z = clamp(R127f.z, 0.0, 1.0);
PV0f.z = R127f.z;
R126f.w = (mul_nonIEEE(PV1f.z,R126f.z) + backupReg0f);
R126f.w = clamp(R126f.w, 0.0, 1.0);
PV0f.w = R126f.w;
// 9
backupReg0f = R125f.z;
R126f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].z), PV0f.w);
PV1f.x = R126f.x;
R127f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].z), PV0f.x);
PV1f.y = R127f.y;
R125f.z = mul_nonIEEE(PV0f.y, backupReg0f);
R127f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].z), PV0f.z);
PV1f.w = R127f.w;
// 10
PV0f.x = R127f.z + -(PV1f.w);
PV0f.y = R126f.w + -(PV1f.x);
PV0f.z = R127f.x + -(PV1f.y);
// 11
R5f.x = (mul_nonIEEE(R125f.z,R127f.w) + PV0f.x);
R7f.y = (mul_nonIEEE(R125f.z,R126f.x) + PV0f.y);
R7f.z = (mul_nonIEEE(R125f.z,R127f.y) + PV0f.z);
// 0
PV0f.x = -(R7f.y) + intBitsToFloat(uf_remappedPS[8].y);
PV0f.y = -(R7f.z) + intBitsToFloat(uf_remappedPS[8].x);
PV0f.w = -(R5f.x) + intBitsToFloat(uf_remappedPS[8].z);
// 1
R0f.x = (mul_nonIEEE(PV0f.y,R1f.z) + R7f.z);
PV1f.x = R0f.x;
R0f.y = (mul_nonIEEE(PV0f.x,R1f.z) + R7f.y);
PV1f.y = R0f.y;
R0f.z = (mul_nonIEEE(PV0f.w,R1f.z) + R5f.x);
PV1f.z = R0f.z;
// 2
backupReg0f = R0f.w;
R0f.xyz = vec3(PV1f.x,PV1f.y,PV1f.z);
R0f.w = backupReg0f;
// 3
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*skyboxRed, R0f.y*skyboxGreen*0.9, R0f.z*skyboxBlue*1.1, R0f.w)*skyboxMix;
passPixelColor1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
}

View File

@ -1,322 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader c2cae30e906be2d5
//Ao scale
#ifdef VULKAN
layout(set = 1, binding = 3) uniform ufBlock
{
uniform ivec4 uf_remappedPS[8];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[8];
uniform vec2 uf_fragCoordScale;
#endif
TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;
TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;
TEXTURE_LAYOUT(2, 1, 2) uniform sampler2D textureUnitPS2;
layout(location = 0) in vec4 passParameterSem1;
layout(location = 0) out vec4 passPixelColor0;
// uf_fragCoordScale was moved to the ufBlock
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);
}

View File

@ -1,191 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader e1ea1127489fd281 // horizon
#ifdef VULKAN
layout(set = 1, binding = 2) uniform ufBlock
{
uniform ivec4 uf_remappedPS[5];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[5];
uniform vec2 uf_fragCoordScale;
#endif
const float skyboxRed = float($skyboxRed);
const float skyboxGreen = float($skyboxGreen);
const float skyboxBlue = float($skyboxBlue);
const float skyboxMix = float($skyboxMix);
TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;
TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;
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;
// uf_fragCoordScale was moved to the ufBlock
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 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*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);
}

View File

@ -1,192 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// 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);
#ifdef VULKAN
layout(set = 1, binding = 2) uniform ufBlock
{
uniform ivec4 uf_remappedPS[5];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[5];
uniform vec2 uf_fragCoordScale;
#endif
TEXTURE_LAYOUT(1, 1, 0) uniform sampler2D textureUnitPS1;
TEXTURE_LAYOUT(2, 1, 1) uniform sampler2D textureUnitPS2;
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;
// uf_fragCoordScale was moved to the ufBlock
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);
}

View File

@ -1,84 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader f1a49f43d95bec30 //skybox
const float skyboxRed = float($skyboxRed);
const float skyboxGreen = float($skyboxGreen);
const float skyboxBlue = float($skyboxBlue);
const float skyboxMix = float($skyboxMix);
#ifdef VULKAN
layout(set = 1, binding = 0) uniform ufBlock
{
uniform ivec4 uf_remappedPS[2];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[2];
uniform vec2 uf_fragCoordScale;
#endif
layout(location = 0) out vec4 passPixelColor0;
layout(location = 1) out vec4 passPixelColor1;
// uf_fragCoordScale was moved to the ufBlock
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);
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;
// 0
R1f.x = (intBitsToFloat(uf_remappedPS[0].z) * 0.5 + 0.5);
R0f.y = intBitsToFloat(uf_remappedPS[1].y);
R1f.z = 0.0;
R0f.w = 0.0;
R0f.x = intBitsToFloat(uf_remappedPS[1].x);
PS0f = R0f.x;
// 1
R0f.z = intBitsToFloat(uf_remappedPS[1].z);
PV1f.z = R0f.z;
// 2
R2f.xyz = vec3(R0f.x,R0f.y,PV1f.z);
R2f.w = R0f.w;
// 3
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*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);
}

View File

@ -1,314 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation)
#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw)
#define gl_VertexID gl_VertexIndex
#define gl_InstanceID gl_InstanceIndex
#else
#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location)
#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140)
#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation)
#define SET_POSITION(_v) gl_Position = _v
#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader ff71dcd2ad4defdc
//AA ps
#ifdef VULKAN
layout(set = 1, binding = 2) uniform ufBlock
{
uniform ivec4 uf_remappedPS[4];
uniform vec4 uf_fragCoordScale;
};
#else
uniform ivec4 uf_remappedPS[4];
uniform vec2 uf_fragCoordScale;
#endif
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
const float vibrance = $vibrance; // 0.0 is neutral
const float crushContrast = $crushContrast; // 0.0 is neutral. Use small increments, loss of shadow detail
const float contrastCurve = $contrastCurve;
vec3 RGB_Lift = vec3($redShadows, $greenShadows , $blueSadows); // [0.000 to 2.000] Adjust shadows for Red, Green and Blue.
vec3 RGB_Gamma = vec3($redMid ,$greenMid, $blueMid); // [0.000 to 2.000] Adjust midtones for Red, Green and Blue
vec3 RGB_Gain = vec3($redHilight, $greenHilight, $blueHilight); // [0.000 to 2.000] Adjust highlights for Red, Green and Blue
//lumasharpen
const float sharp_mix = $sharp_mix;
const float sharp_strength = 2.0;
const float sharp_clamp = 0.75;
const float offset_bias = 1.0;
float Sigmoid (float x) {
return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5)));
}
#define px (1.0/1920.0*uf_fragCoordScale.x)
#define py (1.0/1080.0*uf_fragCoordScale.y)
#define CoefLuma vec3(0.2126, 0.7152, 0.0722)
float lumasharping(sampler2D tex, vec2 pos) {
vec4 colorInput = texture(tex, pos);
vec3 ori = colorInput.rgb;
// -- Combining the strength and luma multipliers --
vec3 sharp_strength_luma = (CoefLuma * sharp_strength);
// -- Gaussian filter --
// [ .25, .50, .25] [ 1 , 2 , 1 ]
// [ .50, 1, .50] = [ 2 , 4 , 2 ]
// [ .25, .50, .25] [ 1 , 2 , 1 ]
vec3 blur_ori = texture(tex, pos + vec2(px, -py) * 0.5 * offset_bias).rgb; // South East
blur_ori += texture(tex, pos + vec2(-px, -py) * 0.5 * offset_bias).rgb; // South West
blur_ori += texture(tex, pos + vec2(px, py) * 0.5 * offset_bias).rgb; // North East
blur_ori += texture(tex, pos + vec2(-px, py) * 0.5 * offset_bias).rgb; // North West
blur_ori *= 0.25; // ( /= 4) Divide by the number of texture fetches
// -- Calculate the sharpening --
vec3 sharp = ori - blur_ori; //Subtracting the blurred image from the original image
// -- Adjust strength of the sharpening and clamp it--
vec4 sharp_strength_luma_clamp = vec4(sharp_strength_luma * (0.5 / sharp_clamp), 0.5); //Roll part of the clamp into the dot
float sharp_luma = clamp((dot(vec4(sharp, 1.0), sharp_strength_luma_clamp)), 0.0, 1.0); //Calculate the luma, adjust the strength, scale up and clamp
sharp_luma = (sharp_clamp * 2.0) * sharp_luma - sharp_clamp; //scale down
return sharp_luma;
}
vec3 LiftGammaGainPass(vec3 colorInput)
{ //reshade BSD https://reshade.me , Alexkiri port
vec3 color = colorInput;
color = color * (1.5 - 0.5 * RGB_Lift) + 0.5 * RGB_Lift - 0.5;
color = clamp(color, 0.0, 1.0);
color *= RGB_Gain;
color = pow(color, 1.0 / RGB_Gamma);
return clamp(color, 0.0, 1.0);
}
vec3 contrasty(vec3 colour){
vec3 fColour = (colour.xyz);
//fColour = LiftGammaGainPass(fColour);
fColour = clamp(exposure * fColour, 0.0, 1.0);
fColour = pow(fColour, vec3(1.0 / gamma));
float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114;
float mn = min(min(fColour.r, fColour.g), fColour.b);
float mx = max(max(fColour.r, fColour.g), fColour.b);
float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0;
vec3 lightness = vec3((mn + mx) / 2.0);
fColour = LiftGammaGainPass(fColour);
// vibrance
fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat);
fColour = max(vec3(0.0), fColour - vec3(crushContrast));
return fColour;
}
const float resScale = 2.0;
// uf_remappedPS[4] was moved to the ufBlock
TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;
TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;
layout(location = 0) in vec4 passParameterSem2;
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 R123f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[2];
bool activeMaskStackC[3];
activeMaskStack[0] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem2;
if( activeMaskStackC[1] == true ) {
R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy);
R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
}
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
PV0f.x = R1f.y + R1f.x;
R127f.y = intBitsToFloat(uf_remappedPS[0].z) * 0.25;
PV0f.z = R1f.w + -(R1f.x);
PV0f.w = R1f.z + -(R1f.y);
R127f.z = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[1].x));
PS0f = R127f.z;
// 1
R127f.x = PV0f.w + -(PV0f.z);
PV1f.x = R127f.x;
R126f.y = PV0f.w + PV0f.z;
PV1f.y = R126f.y;
PV1f.z = R1f.z + PV0f.x;
R127f.w = min(R1f.z, R1f.x);
R126f.w = min(R1f.w, R1f.y);
PS1f = R126f.w;
// 2
PV0f.x = R1f.w + PV1f.z;
PV0f.y = max(PV1f.x, -(PV1f.x));
PV0f.z = max(PV1f.y, -(PV1f.y));
PV0f.w = max(R1f.z, R1f.x);
PS0f = max(R1f.w, R1f.y);
// 3
PV1f.x = min(PV0f.z, PV0f.y);
R123f.y = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedPS[1].y)) + R127f.z);
PV1f.y = R123f.y;
R127f.z = min(R127f.w, R126f.w);
PV1f.z = R127f.z;
R123f.w = (mul_nonIEEE(R127f.y,PV0f.x) + intBitsToFloat(uf_remappedPS[0].w));
PV1f.w = R123f.w;
R127f.w = max(PV0f.w, PS0f);
PS1f = R127f.w;
// 4
PV0f.x = mul_nonIEEE(PS1f, intBitsToFloat(uf_remappedPS[2].x));
PV0f.y = max(PV1f.y, PS1f);
PV0f.z = min(PV1f.y, PV1f.z);
PV0f.w = max(PV1f.w, PV1f.x);
R4f.z = -(PV1f.z) + PS1f;
PS0f = R4f.z;
// 5
R3f.x = max(PV0f.x, intBitsToFloat(uf_remappedPS[2].y));
R3f.y = -(PV0f.z) + PV0f.y;
R4f.w = R127f.z + R127f.w;
PS1f = 1.0 / PV0f.w;
// 6
PV0f.x = mul_nonIEEE(R127f.x, PS1f); //p
PV0f.y = mul_nonIEEE(R126f.y, PS1f);
// 7
PV1f.z = max(PV0f.x, -(intBitsToFloat(uf_remappedPS[0].y))); //p
PV1f.w = max(PV0f.y, -(intBitsToFloat(uf_remappedPS[0].y)));
// 8
R1f.x = min(PV1f.w, intBitsToFloat(uf_remappedPS[0].y));
R1f.y = min(PV1f.z, intBitsToFloat(uf_remappedPS[0].y));
// 9
predResult = (R3f.y > R3f.x);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
R3f.x = (mul_nonIEEE(R1f.x,-(intBitsToFloat(uf_remappedPS[3].z) / resScale)) + R0f.x);
R3f.y = (mul_nonIEEE(R1f.y,-(intBitsToFloat(uf_remappedPS[3].w) / resScale)) + R0f.y);
R0f.z = (mul_nonIEEE(R1f.x,intBitsToFloat(uf_remappedPS[3].z)) + R0f.x); //leave out, looks better on avg
R0f.w = (mul_nonIEEE(R1f.y,intBitsToFloat(uf_remappedPS[3].w)) + R0f.y);//leave out, looks better on avg
R4f.x = (mul_nonIEEE(R1f.x,-(intBitsToFloat(uf_remappedPS[3].x) / resScale)) + R0f.x);
PS0f = R4f.x;
// 1
R4f.y = (mul_nonIEEE(R1f.y,-(intBitsToFloat(uf_remappedPS[3].y)/resScale)) + R0f.y);
R3f.z = (mul_nonIEEE(R1f.x,intBitsToFloat(uf_remappedPS[3].x) / resScale) + R0f.x);
R3f.w = (mul_nonIEEE(R1f.y,intBitsToFloat(uf_remappedPS[3].y) / resScale) + R0f.y);
}
if( activeMaskStackC[2] == true ) {
R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw);
R0f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw);
R2f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw);
R3f.xyzw = (texture(textureUnitPS0, R3f.zw).xyzw);
}
if( activeMaskStackC[2] == true ) {
// 0
R127f.xyz = vec3(R0f.x,R0f.w,R0f.z) + vec3(R1f.x,R1f.w,R1f.z);
PV0f.x = R127f.x;
PV0f.y = R127f.y;
PV0f.z = R127f.z;
R127f.w = R0f.y + R1f.y;
PV0f.w = R127f.w;
// 1
PV1f.x = R2f.x + PV0f.x;
PV1f.y = R2f.w + PV0f.y;
PV1f.z = R2f.z + PV0f.z;
PV1f.w = R2f.y + PV0f.w;
// 2
R126f.x = R3f.x + PV1f.x;
R126f.x /= 2.0;
PV0f.x = R126f.x;
R126f.y = R3f.w + PV1f.y;
R126f.y /= 2.0;
PV0f.y = R126f.y;
R126f.z = R3f.z + PV1f.z;
R126f.z /= 2.0;
PV0f.z = R126f.z;
R126f.w = R3f.y + PV1f.w;
R126f.w /= 2.0;
PV0f.w = R126f.w;
// 3
backupReg0f = R127f.y;
R123f.x = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[1].x)) + -(R4f.w));
PV1f.x = R123f.x;
R127f.yzw = vec3(R127f.z,R127f.w,R127f.x) + vec3(-(PV0f.z),-(PV0f.w),-(PV0f.x));
R127f.x = backupReg0f + -(PV0f.y);
PS1f = R127f.x;
// 4
R123f.w = (mul_nonIEEE(R126f.w,intBitsToFloat(uf_remappedPS[1].y)) + PV1f.x);
PV0f.w = R123f.w;
// 5
PV1f.z = max(PV0f.w, -(PV0f.w));
// 6
PV0f.y = -(R4f.z) + PV1f.z;
// 7
R123f.x = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0)));
PV1f.x = R123f.x;
// 8
R2f.x = (mul_nonIEEE(R127f.w,PV1f.x) + R126f.x)/2.0;
R2f.y = (mul_nonIEEE(R127f.z,PV1f.x) + R126f.w)/2.0;
R2f.z = (mul_nonIEEE(R127f.y,PV1f.x) + R126f.z)/2.0;
R2f.w = (mul_nonIEEE(R127f.x,PV1f.x) + R126f.y)/2.0;
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
// export
R2f.xyz = contrasty(R2f.xyz);
R2f.xyz = mix(R2f.xyz, smoothstep(0.0, 1.0, R2f.xyz), contrastCurve);
float smask = lumasharping(textureUnitPS1, passParameterSem2.xy);
vec3 temp3 = R2f.xyz;
R2f.xyz = mix(R2f.xyz, (temp3.xyz += (smask)), sharp_mix);
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
}

View File

@ -1,180 +0,0 @@
[Definition]
titleIds = 0005000010143400,0005000010143600,0005000010143500
name = 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. Made by getdls.
version = 4
[Preset]
name = Default
$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 = 1.0
$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 = 1.05
$AO = 1.0
$beach = 1.0
[Preset]
name = Less sky bloom
$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.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
$redShadows = 1.0
$greenShadows = 1.0
$blueSadows = 1.0
$redMid = 0.99
$greenMid = 0.99
$blueMid = 0.99
$redHilight = 1.1
$greenHilight =1.0
$blueHilight = 1.0
$contrastCurve = 0.4
$hazeFactor = 0.25
$bloom = 0.85
$gamma = 0.98
$exposure = 1.01
$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 = 1.0
$greenMid = 0.99
$blueMid = 1.0
$redHilight = 1.0
$greenHilight =0.99
$blueHilight = 1.0
$contrastCurve = 0.275
$hazeFactor = 0.25
$bloom = 0.85
$gamma = 0.975
$exposure = 1.01
$vibrance = 0.45
$crushContrast = 0.00
$bleach = 0.85
$sharp_mix = 0.0
$skyboxRed = 1.0
$skyboxGreen = 1.0
$skyboxBlue = 1.0
$skyboxMix = 0.9
$AO = 1.0
$beach = 1.0
[Preset]
name = Gamecube style
$redShadows = 1.01
$greenShadows = 1.01
$blueSadows = 1.01
$redMid = 1.0
$greenMid = 1.0
$blueMid = 1.0
$redHilight = 0.99
$greenHilight =0.99
$blueHilight = 0.99
$contrastCurve = 0.25
$hazeFactor = 1.0
$bloom = 0.95
$gamma = 0.95
$exposure = 1.0
$vibrance = 0.175
$crushContrast = 0.00
$bleach = 0.85
$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