mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2024-11-25 19:16:52 +01:00
[XCX] Fixed uneven resolution scaling. Optimized performance settings
320x180 Not a single wasted shader pass.
This commit is contained in:
parent
d8964c6878
commit
3c8958ca35
@ -2,8 +2,8 @@
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
#extension GL_ARB_shading_language_packing : enable
|
||||
const float resXScale = ($width/$gameWidth);
|
||||
const float resYScale = ($height/$gameHeight);
|
||||
const float resXScale = intBitsToFloat($width)/intBitsToFloat($gameWidth);
|
||||
const float resYScale = intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||
// shader 9dc2d340255dee89
|
||||
uniform ivec4 uf_remappedVS[1];
|
||||
uniform vec2 uf_windowSpaceToClipSpaceTransform;
|
||||
|
@ -3,8 +3,9 @@
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
// shader b253dca415790207
|
||||
// motion blur alpha
|
||||
const float resScale = intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||
|
||||
const float resScale = 2.0;
|
||||
//const float resScale = 2.0;
|
||||
//const float resScale = 3;
|
||||
uniform ivec4 uf_remappedPS[5];
|
||||
|
||||
|
@ -4,7 +4,8 @@
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
// shader ed70de7fe7542f87
|
||||
//motion blur sample spread scaling
|
||||
const float resScale = 2.0;
|
||||
const float resScale = intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||
//const float resScale = 2.0;
|
||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
||||
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e12000 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
|
||||
layout(location = 0) in vec4 passParameterSem0;
|
||||
|
@ -4,9 +4,8 @@
|
||||
// shader af7acf7fb6dca1be
|
||||
//cutscene shadow scaling
|
||||
//to do - extra edge smooth pass,
|
||||
|
||||
const float resScaleDetail = ($width/$gameWidth);
|
||||
const float resScale = ($height/$gameHeight);
|
||||
const float resScaleDetail = intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||
const float resScale = (intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||
//const float resScaleDetail = 2.0;
|
||||
//const float resScale = 3.0;
|
||||
const float shadowExposure = 0.85; //By truncating shadow, we decrease overall exposure during day only.
|
||||
|
@ -1,8 +1,8 @@
|
||||
#version 420
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
const float resXScale = ($width/$gameWidth);
|
||||
const float resYScale = ($height/$gameHeight);
|
||||
const float resXScale = intBitsToFloat($width)/intBitsToFloat($gameWidth);
|
||||
const float resYScale = intBitsToFloat($height)/intBitsToFloat($gameHeight);
|
||||
// shader fdb5a87dd0368c6b //shadow scaling
|
||||
uniform ivec4 uf_remappedPS[23];
|
||||
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
|
||||
|
@ -16,17 +16,6 @@ $dither = 0.01
|
||||
$scaleShader = 1.0
|
||||
$scaleBlur = 0.05
|
||||
|
||||
[Preset]
|
||||
name = 640x360
|
||||
$width = 640
|
||||
$height = 360
|
||||
$gameWidth = 1280
|
||||
$gameHeight = 720
|
||||
$internalRes = 0.5
|
||||
$dither = 0.01
|
||||
$scaleShader = 1.0
|
||||
$scaleBlur = 0.05
|
||||
|
||||
[Preset]
|
||||
name = 3840x720 (48:9)
|
||||
$width = 3840
|
||||
@ -40,6 +29,17 @@ $scaleBlur = 0.05
|
||||
|
||||
// Quality
|
||||
|
||||
[Preset]
|
||||
name = 1600x900
|
||||
$width = 1600
|
||||
$height = 900
|
||||
$gameWidth = 1280
|
||||
$gameHeight = 720
|
||||
$internalRes = 1.0
|
||||
$dither = 0.1
|
||||
$scaleShader = (720.0/900.0) # factor for any shader that can't handle fractional scaling
|
||||
$scaleBlur = 0.5
|
||||
|
||||
[Preset]
|
||||
name = 1920x1080 (HD)
|
||||
$width = 1920
|
||||
@ -48,18 +48,7 @@ $gameWidth = 1280
|
||||
$gameHeight = 720
|
||||
$internalRes = 1.0
|
||||
$dither = 0.15
|
||||
$scaleShader = 1.0
|
||||
$scaleBlur = 0.5
|
||||
|
||||
[Preset]
|
||||
name = 1920x1200 (10:9 HD)
|
||||
$width = 1920
|
||||
$height = 1200
|
||||
$gameWidth = 1280
|
||||
$gameHeight = 720
|
||||
$internalRes = 1.0
|
||||
$dither = 0.15
|
||||
$scaleShader = 1.0
|
||||
$scaleShader = (720.0/1080.0)
|
||||
$scaleBlur = 0.5
|
||||
|
||||
[Preset]
|
||||
@ -70,7 +59,7 @@ $gameWidth = 1280
|
||||
$gameHeight = 720
|
||||
$internalRes = 1.0
|
||||
$dither = 0.15
|
||||
$scaleShader = 1.0
|
||||
$scaleShader = (720.0/1080.0)
|
||||
$scaleBlur = 0.5
|
||||
|
||||
[Preset]
|
||||
@ -81,18 +70,18 @@ $gameWidth = 1280
|
||||
$gameHeight = 720
|
||||
$internalRes = 1.0
|
||||
$dither = 0.15
|
||||
$scaleShader = 1.0
|
||||
$scaleShader = (720.0/1080.0)
|
||||
$scaleBlur = 0.5
|
||||
|
||||
[Preset]
|
||||
name = 1600x900
|
||||
$width = 1600
|
||||
$height = 900
|
||||
name = 1920x1200 (10:9 HD)
|
||||
$width = 1920
|
||||
$height = 1200
|
||||
$gameWidth = 1280
|
||||
$gameHeight = 720
|
||||
$internalRes = 1.0
|
||||
$dither = 0.1
|
||||
$scaleShader = 1.0
|
||||
$dither = 0.15
|
||||
$scaleShader = (720.0/1200.0)
|
||||
$scaleBlur = 0.5
|
||||
|
||||
[Preset]
|
||||
@ -145,9 +134,9 @@ $width = 3200
|
||||
$height = 1800
|
||||
$gameWidth = 1280
|
||||
$gameHeight = 720
|
||||
$internalRes = 1.0
|
||||
$internalRes = 2.0
|
||||
$dither = 0.2
|
||||
$scaleShader = 1.0
|
||||
$scaleShader = (1440.0/1800.0)
|
||||
$scaleBlur = 0.5
|
||||
|
||||
[Preset]
|
||||
@ -240,11 +229,8 @@ overwriteHeight = ($height/$gameHeight) * 720
|
||||
width = 1024
|
||||
height = 1024
|
||||
formats = 0x005
|
||||
#overwriteWidth = ($height/$gameHeight) * 1024
|
||||
#overwriteHeight = ($height/$gameHeight) * 1024
|
||||
overwriteWidth = 3072 #1080 breaks without rounding
|
||||
overwriteHeight = 3072
|
||||
|
||||
overwriteWidth = ($height/$gameHeight) * (1024*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (1024*$scaleShader)
|
||||
|
||||
[TextureRedefine] #ingame menu
|
||||
width = 1024
|
||||
@ -286,10 +272,9 @@ overwriteHeight = ($height/$gameHeight) * (360*$internalRes)
|
||||
width = 512
|
||||
height = 512
|
||||
formats = 0x005
|
||||
#overwriteWidth = ($height/$gameHeight) * 512
|
||||
#overwriteHeight = ($height/$gameHeight) * 512
|
||||
overwriteWidth = 3072 #1080 breaks without rounding
|
||||
overwriteHeight = 3072
|
||||
overwriteWidth = ($height/$gameHeight) * (1024*$scaleShader)
|
||||
overwriteHeight = ($height/$gameHeight) * (1024*$scaleShader)
|
||||
|
||||
|
||||
[TextureRedefine]
|
||||
width = 512
|
||||
|
28
Source/XenobladeX_Performance/rules.txt
Normal file
28
Source/XenobladeX_Performance/rules.txt
Normal file
@ -0,0 +1,28 @@
|
||||
[Definition]
|
||||
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||
name = Resolution
|
||||
path = "Xenoblade Chronicles X/Graphics/Performance Resolution"
|
||||
description = Changes the resolution of the game.
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
name = 320x180
|
||||
$width = 320
|
||||
$height = 180
|
||||
$gameWidth = 1280
|
||||
$gameHeight = 720
|
||||
|
||||
[Preset]
|
||||
name = 640x360
|
||||
$width = 640
|
||||
$height = 360
|
||||
$gameWidth = 1280
|
||||
$gameHeight = 720
|
||||
|
||||
[TextureRedefine]
|
||||
width = 1280
|
||||
height = 720
|
||||
formatsExcluded = 0x031,0x431,0x035,0x034,0x033 #dialog prompt fixes, XCX Logo NLA
|
||||
tileModesExcluded = 0x001
|
||||
overwriteWidth = ($width/$gameWidth) * 1280
|
||||
overwriteHeight = ($height/$gameHeight) * 720
|
Loading…
Reference in New Issue
Block a user