sixthsurge / photon

A gameplay-focused shader pack for Minecraft
MIT License
1.06k stars 200 forks source link

TAA Upscaling offsets the DOF distance sample point #121

Closed owosoup closed 7 months ago

owosoup commented 7 months ago

What happened?

When enabling TAA upscaling, depth of field becomes inaccurate in auto mode. The point you should be looking at becomes offset to the right. The lower the resolution of TAA upscaling, the farther right this point will go, eventually reaching off the screen and imitating a manual focus. I'm using a 3440x1440 screen, maybe that's the cause. Although in windowed mode, this effect still applies.

TAAU disabled: image TAAU @ 0.75: image TAAU @ 0.95: image

Minecraft Version

1.20.1

Which shader mod are you using?

Iris

Shader mod version

1.6.17

Shader settings

https://pastebin.pl/view/adbd67ea
``
#Mon Apr 01 23:13:47 CEST 2024
STARS_COVERAGE=0.40
shadowDistance=256.0
BLOCKLIGHT_I=0.99
AUTO_EXPOSURE_MIN=0.0
SKYLIGHT_I=0.30
ENTITY_SHADOWS=false
WATER_WAVE_ITERATIONS=5
HISTOGRAM_TARGET=0.4
BLOCKLIGHT_R=0.90
SHADOW_COLOR=false
WATER_REFRACTION_INTENSITY=0.95
PURKINJE_SHIFT_INTENSITY=0.25
SSR_INTERSECTION_STEPS_ROUGH=4
AO_IN_SUNLIGHT=false
CLOUDS_CUMULUS_WIND_ANGLE=70.0
BLOCKY_CLOUDS_THICKNESS=16.0
BOX_LINE_WIDTH=3.0
WATER_WAVE_SPEED_STILL=1.15
HANDHELD_LIGHTING=true
BLOOM_INTENSITY=1.05
SSR_ROUGHNESS_SUPPORT=false
BLOCKY_CLOUDS_LAYER_2=true
AURORA_GROUND_LIGHTING=0.05
NETHER_I=2.00
BLOCKY_CLOUDS_ALTITUDE=235.0
NETHER_S=1.00
CLOUDS_CUMULUS_CONGESTUS_DENSITY=1.15
EDGE_HIGHLIGHT_SCALE=128.0
SSR_INTERSECTION_STEPS_SMOOTH=10
BOUNCED_LIGHT_I=1.01
CLOUDS_CIRRUS_ALTITUDE=6100.0
TAAU=true
POM_DEPTH=0.20
CAVE_LIGHTING_I=0.70
GRADE_WHITE_BALANCE=6100
SUN_I=1.01
GRADE_TEAL_SAT_BOOST=0.00
AURORA_BRIGHTNESS=0.85
BLOCKY_CLOUDS_SHARPNESS=0.02
DOF_SAMPLES=15
MOON_I=0.45
BLOOMY_FOG_INTENSITY=1.5
CLOUDS_CUMULUS_ALTITUDE=3000.0
shadowMapResolution=1536
SHADOW_PENUMBRA_SCALE=0.4
CLOUDS_CUMULUS_DETAIL_STRENGTH=0.75
AIR_FOG_RAYLEIGH_DENSITY=0.0020
CLOUDS_CUMULUS_CURL_STRENGTH=0.70
WATER_WAVE_LACUNARITY=0.95
CLOUDS_CUMULUS_DENSITY=0.85
WATER_WAVE_FREQUENCY=0.65
WATER_TEXTURE=WATER_TEXTURE_HIGHLIGHT
CLOUD_SHADOWS_INTENSITY=0.60
SSS_INTENSITY=1.45
SEA_LEVEL=4.0
WATER_SCATTERING_UNDERWATER=0.04
GRADE_SATURATION=0.99
AURORA_FREQUENCY=0.60
BLOCKY_CLOUDS_ROUNDNESS=0.40
POM_SHADOW=true
POM_SHADOW_SAMPLES=35
CLOUDS_CUMULUS_THICKNESS=0.70
tonemap_left=tonemap_tech
AUTO_EXPOSURE=AUTO_EXPOSURE_SIMPLE
AIR_FOG_RAYLEIGH_G_SNOWY=0.65
DOF_INTENSITY=0.40
AUTO_EXPOSURE_RATE_BRIGHT_TO_DIM=3.0
CAS=false
sunPathRotation=-6.0
STARS_INTENSITY=0.45
AIR_FOG_MIE_DENSITY_RAIN=0.045
SNELLS_WINDOW=true
BORDER_FOG=false
MOTION_BLUR=true
WATER_CAUSTICS=true
MOTION_BLUR_INTENSITY=0.45
WATER_DISPLACEMENT=false
WATER_WAVE_PERSISTENCE=1.10
RAIN_OPACITY=0.60
WATER_WAVE_STRENGTH=0.90
WATER_ABSORPTION_R=0.30
AURORA_CLOUD_LIGHTING=0.25
BLOCKY_CLOUDS_ALTITUDE_2=320.0
VIGNETTE_INTENSITY=1.01
SKY_GROUND=true
VOXEL_VOLUME_SIZE=64
POM_SAMPLES=70
AURORA_SNOW=AURORA_RARELY
WATER_ABSORPTION_B=0.22
HANDHELD_LIGHTING_INTENSITY=1.01
AURORA_NORMAL=AURORA_NEVER
SSR_ROUGHNESS_THRESHOLD=3.0
GRADE_CONTRAST=1.10
WATER_ABSORPTION_G=0.15
AIR_FOG_MIE_DENSITY_NOON=0.0020
EMISSION_STRENGTH=0.99
SHADING_STRENGTH=1.01
SUN_MG=0.90
AIR_FOG_RAYLEIGH_R_SNOWY=0.40
AIR_FOG_RAYLEIGH_DENSITY_RAIN=0.0100
WATER_WAVE_SPEED_FLOWING=1.01
SUN_MB=0.70
GRADE_BRIGHTNESS=1.01
``

Relevant log output

No response

sixthsurge commented 7 months ago

The DoF focus plane is handled by OF/Iris, the only way to fix this would be to handle it in the shader (would be a bit ugly) or have the TAAU squash the geometry towards the middle rather than the corner, which I don't really want to do since it makes the coordinate conversion a tiny bit more complex. So I'm not planning to fix this, partially because I think the overlap between TAAU and DoF is quite small, TAAU being a feature to increase performance at the expense of visual quality while Depth of Field is mostly meant for screenshots/cinematics where you wouldn't use TAAU anyway

owosoup commented 7 months ago

Noted. I won't report this to iris since it's shader-specific, but I hope you get the time to look into it, in a distant future lol. Keep going for the DH compatibility, you're making great progress and it's amazing to see the involvement of people for this shader.