Rendering Shadows: Difference between revisions

Created page with " ==Shadow mapping== {{main | Wikipedia: Shadow Mapping}}"
 
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:


==Shadow mapping==
==Hard Shadows==
Hard shadows typically come from small (i.e. point) light sources.
===Shadow mapping===
{{main | Wikipedia: Shadow Mapping}}
{{main | Wikipedia: Shadow Mapping}}
For each light source, compute what the light hits by using the slight source as a camera and doing a render pass. This is typically only done for the primary light in the scene.
At render time, each object can sample into the shadow map to determine if it is occluded or not.
===Shadow Volume===
{{main | Wikipedia: Shadow volume}}
==Soft Shadows==
Soft shadows appear from large light sources such as the environment lighting.
===Precomputed Radiance Transfer (PRT)===
{{main | Wikipedia: Precomputed Radiance Transfer}}
===Spherical Harmonics===
https://www.cs.columbia.edu/~bosun/images/research/sig06/download/shexp.pdf
The idea here is to approximate each blocker object as a set of spheres. For any receiver point and each spherical blocker, we can compute a SH approximation of the light blocked. Then the SH coefficients can be added together to get compute the non-occluded light.
===SDF===
See https://iquilezles.org/articles/rmshadows/ to render shadows using raymarching if your scene can be represented as a signed distance field.
==Ambient Occulusion==
==References==