Rendering Shadows

From David's Wiki
Revision as of 20:29, 30 December 2024 by David (talk | contribs) (→‎Hard Shadows)
\( \newcommand{\P}[]{\unicode{xB6}} \newcommand{\AA}[]{\unicode{x212B}} \newcommand{\empty}[]{\emptyset} \newcommand{\O}[]{\emptyset} \newcommand{\Alpha}[]{Α} \newcommand{\Beta}[]{Β} \newcommand{\Epsilon}[]{Ε} \newcommand{\Iota}[]{Ι} \newcommand{\Kappa}[]{Κ} \newcommand{\Rho}[]{Ρ} \newcommand{\Tau}[]{Τ} \newcommand{\Zeta}[]{Ζ} \newcommand{\Mu}[]{\unicode{x039C}} \newcommand{\Chi}[]{Χ} \newcommand{\Eta}[]{\unicode{x0397}} \newcommand{\Nu}[]{\unicode{x039D}} \newcommand{\Omicron}[]{\unicode{x039F}} \DeclareMathOperator{\sgn}{sgn} \def\oiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x222F}\,}{\unicode{x222F}}{\unicode{x222F}}{\unicode{x222F}}}\,}\nolimits} \def\oiiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x2230}\,}{\unicode{x2230}}{\unicode{x2230}}{\unicode{x2230}}}\,}\nolimits} \)

Hard Shadows

Hard shadows typically come from small (i.e. point) light sources.

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

Soft Shadows

Soft shadows appear from large light sources such as the environment lighting.

Precomputed Radiance Transfer (PRT)

Ambient Occulusion

References