Z-fighting on near-coplanar surfaces (windowsills, frames); worse under TAA jitter -- reversed-Z #188
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#188
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom: coplanar / near-coplanar surfaces (windowsills, frames, trim laid over walls) flicker between each other. Present at native resolution too, so it is not the upscaler (#182).
Why it matters more now: with TAA (RenderFSAAType 3) the projection is jittered every frame, so which surface wins a z-fight changes every frame -- a still camera shows shimmering instead of a fixed pattern. Upscaling (#181) coarsens the depth further.
Depth setup today: D32_SFLOAT, conventional depth (near 0 -> far 1), LESS / LESS_OR_EQUAL tests. Float depth with conventional Z wastes almost all of its precision near the camera; at SL draw distances (256-512 m+) with a small near plane, distant surfaces get very coarse depth steps.
To do
linearDepth, water fog, SSR, AO, DoF, flare, occlusionzmin > far_depth, clean_depth_up, RT).Related: #182 (TAA upscale), #167 (occlusion Hi-Z assumes conventional depth).