Rendering Shadows: Difference between revisions
(4 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
===Shadow mapping=== | ===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=== | ===Shadow Volume=== | ||
Line 13: | Line 17: | ||
===Precomputed Radiance Transfer (PRT)=== | ===Precomputed Radiance Transfer (PRT)=== | ||
{{main | Wikipedia: Precomputed Radiance Transfer}} | {{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== | ==References== |