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== |