RT shadows: full-resolution edge refinement for reduced-resolution shadow masks #768
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#768
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?
With RT shadow resolution below full (Preferences > Graphics > Advanced > RT shadow resolution,
RenderVKRTShadowMaskScale), shadow edges are quantized to the mask grid: at half resolution each traced texel covers 2x2 screen pixels. The depth-aware bilinear upsample (clean_shadow_mask_read.glsl) keeps shadows from bleeding across silhouettes but can't add edge detail that wasn't traced, so edges show a soft staircase. It gets worse as you zoom out: an avatar's shadow shrinks to a handful of mask texels while the texel stays 2x2 px. Full resolution doesn't show it.Proposal: full-resolution edge refinement
Uniformly lit / shadowed areas keep the reduced-resolution cost; edges come out exact at any distance. Extra cost scales with edge pixels (typically a few % of the screen).
Notes