We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.

What Is Self-Shadowing?

By Eugene P.
Updated May 16, 2024
Our promise to you
EasyTechJunkie is dedicated to creating trustworthy, high-quality content that always prioritizes transparency, integrity, and inclusivity above all else. Our ensure that our content creation and review process includes rigorous fact-checking, evidence-based, and continual updates to ensure accuracy and reliability.

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

Editorial Standards

At EasyTechJunkie, we are committed to creating content that you can trust. Our editorial process is designed to ensure that every piece of content we publish is accurate, reliable, and informative.

Our team of experienced writers and editors follows a strict set of guidelines to ensure the highest quality content. We conduct thorough research, fact-check all information, and rely on credible sources to back up our claims. Our content is reviewed by subject-matter experts to ensure accuracy and clarity.

We believe in transparency and maintain editorial independence from our advertisers. Our team does not receive direct compensation from advertisers, allowing us to create unbiased content that prioritizes your interests.

"Self-shadowing" is a term that describes the circumstance in which one 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 — specifically computer graphics programming — it is a reference to shadows that are cast by a scene's three-dimensional (3D) objects on themselves, or shadows that are cast by dynamic objects on themselves and objects around them. The nature of real-time 3D computer graphics programming causes many applications to use techniques that often remove the possibility of rendering self-shadows in favor of other optimizations, although, as the speed and capabilities of computers increases, real-time self-shadowing methods have become more accessible. There are several methods of rendering real-time self-shadowing objects, but hardware limitations usually produce results that have some drawbacks, such as inaccurate shadows, shadows with artificially hard edges, or scenes that render very slowly on graphics cards that are not incredibly fast.

One distinction to make when talking about self-shadowing is the difference between static and dynamic objects in real-time graphics. Static objects are 3D objects in a scene that do not move and do not have any part of their geometry changed over the course of rendering. A dynamic object, on the other hand, is an object that is not directly attached to the scene in any way and can be different from one frame to the next. For the most part, most static objects and non-real-time scenes do self-shadow, either because of the rendering engine or because of other graphics tricks that can be used.

Several optimizations that are used to render real-time 3D graphics make implementing dynamic self-shadowing difficult. 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 increase in graphics processors and computers, new techniques allow self-shadowed objects to appear in a real-time scene, with some limitations and tradeoffs.

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 cast, allowing the renderer or shader to perform tests on whether any point is within a shadowed volume to determine how it is lit. Other methods create shadow maps, or approximate shadows from vertex positions, to create very diffuse shadows that do not necessarily follow the fidelity of an edge.

Nearly all methods of self-shadowing have to exchange either speed or quality to get an acceptable result. Quality issues can occur through the use of fast but low-resolution or fuzzy techniques that might make some self-shadows seem wrong or out of place. Speed issues occur when the algorithms used require too much overhead per frame or attempt to calculate shadow projections too accurately. Though there is no single standard self-shadow-producing algorithm, some graphics cards include native acceleration for different methods that can increase the speed of some techniques.

EasyTechJunkie is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.
Discussion Comments
EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.

EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.