Skip to content

Use Interleaved gradient noise for shadow samples#45326

Merged
clayjohn merged 1 commit into
godotengine:masterfrom
clayjohn:VULKAN-ign-shadows
Feb 18, 2021
Merged

Use Interleaved gradient noise for shadow samples#45326
clayjohn merged 1 commit into
godotengine:masterfrom
clayjohn:VULKAN-ign-shadows

Conversation

@clayjohn

Copy link
Copy Markdown
Member

Instead of using white noise for shadowmap lookup, rotate samples with interleaved gradient noise (IGN). IGN is described as being halfway between a dither pattern and noise. It is extremely fast to compute (about half the instructions of our previous noise), and most importantly has very little low frequency properties. This means that it looks more uniformly "random". White noise tends to have "clumping" artifacts making the noise more obvious.

I didn't go with this initially because I was afraid of the obvious dither pattern. But as I read more and use the engine more it is clear that white noise is just not as good.

Comparison image: Top is white noise, bottom is IGN
compare

@akien-mga akien-mga added this to the 4.0 milestone Jan 20, 2021
@akien-mga akien-mga requested a review from a team January 20, 2021 08:51
Comment thread servers/rendering/renderer_rd/shaders/scene_forward.glsl Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants