What’s Self-Shading?

Print anything with Printful



Self-shadowing refers to shadows cast by 3D objects upon themselves or dynamic objects around them in computer graphics. Static and dynamic objects have different self-shadowing challenges, and various methods, such as shadow volumes or shadow maps, trade off speed or quality. Graphics cards may accelerate some techniques.

“Self-shadowing” is a term that describes the circumstance in which a part of an object casts a shadow on itself. Examples of self-shadowing include the shadow cast by a human nose on the face or upper lip when the light source comes from above, or the shadow cast by the seat of a chair on the legs of the chair. When the term is used in computer graphics, particularly computer graphics programming, it is a reference to shadows cast by three-dimensional (3D) objects in a scene upon themselves or to shadows cast by dynamic objects upon themselves and the objects around them They . The programming nature of real-time 3D computer graphics means that many applications use techniques that often remove the ability to render shadows in favor of other optimizations, although as computer speeds and capabilities increase, the real-time auto-shading methods have become more accessible. There are several methods for rendering self-shadowed objects in real time, but hardware limitations usually produce results that have some drawbacks, such as inaccurate shadows, shadows with artificial edges, or scenes that render very slowly on graphics cards that aren’t incredibly fast.

One distinction to make when discussing self-shadowing is the difference between static and dynamic objects in real-time graphics. Static objects are 3D objects in a scene that don’t move and don’t have any part of their geometry changed during rendering. A dynamic object, on the other hand, is an object that is not directly linked to the scene in any way and can be different from frame to frame. For the most part, most static objects and non-realtime scenes self-shadow, either due to the rendering engine or other graphical tricks that may be employed.

Several optimizations used for rendering real-time 3D graphics make it difficult to implement dynamic self-shadowing. Some examples include a graphics engine that only applies lighting effects to a static background, ignoring dynamic objects such as characters in a scene, or an engine that treats objects only as silhouettes, with no awareness of internal geometry. With the rise of graphics processors and computers, new techniques allow self-shadowed objects to appear in a scene in real time, with some limitations and trade-offs.

Shadow volumes are one way that self-shadowing can be implemented in a 3D scene. This method essentially creates 3D objects that occupy an enclosed volume in a scene where a shadow is being cast, allowing the renderer or shader to test whether a point is within a shadowed volume to determine what it looks like. illuminated. Other methods create shadow maps or rough shadows from vertex locations, to create very diffuse shadows that don’t necessarily follow the fidelity of an edge.

Almost all self-shadowing methods have to trade off speed or quality to get an acceptable result. Quality issues can occur through the use of fast but low resolution or blurry techniques which could make some auto-shadows look wrong or out of place. Speed ​​problems occur when the algorithms used require too much overhead per frame or try to calculate shadow casts too accurately. While there is no single standard algorithm for producing shadows, some graphics cards include native acceleration for several methods that can increase the speed of some techniques.




Protect your devices with Threat Protection by NordVPN


Skip to content