6
$\begingroup$

Shading and shadowing are often mentioned in how to create realistic 3D graphics, but the distinction is not clear. Are both responsible for the generation of shadows, or do they refer to the same concept?

$\endgroup$
5
$\begingroup$

In simplified terms, shading controls how object's surface's brightness changes when the angle between its normal and light vector changes. Shadows are areas where the light cannot reach because it's occluded by other objects. So no, they both are not responsible for creating shadows.

$\endgroup$
2
$\begingroup$

The distinction is not clear mainly because the term "shading" is an extremely broad term. One of the first uses for programmable "shaders" in real-time graphics pipeline was computing illumination on vertices or pixels - close analogs to what an artist does when shading an object in a drawing for example.

Today it has come to encompass all calculations that figure into determining the final color of a fragment ("fragment/pixel shader"), or the final attribute values of a vertex ("vertex shader") or primitive ("geometry shader"), etc. Generally all programmable stages in the real-time graphics pipeline have come be called "shaders" whether they compute colors/illumination or not.

Shadowing likely just refers to shading work that determines the portion of direct light that is occluded with respect to a location on a surface. It can also reasonably refer to indirect illumination/occlusion.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.