Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Shadow volume
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Depth fail === Around the year 2000, several people discovered that Heidmann's method can be made to work for all camera positions by reversing the depth. Instead of counting the shadow surfaces in front of the object's surface, the surfaces behind it can be counted just as easily, with the same end result. This solves the problem of the eye being in shadow, since shadow volumes between the eye and the object are not counted, but introduces the condition that the rear end of the shadow volume must be capped, or shadows will end up missing where the volume points backward to infinity. # Disable writes to the depth and color buffers. # Use front-face culling. # Set the stencil operation to increment on depth fail (only count shadows behind the object). # Render the shadow volumes. # Use back-face culling. # Set the stencil operation to decrement on depth fail. # Render the shadow volumes. The depth fail method has the same considerations regarding the stencil buffer's precision as the depth pass method. Also, similar to depth pass, it is sometimes referred to as the '''z-fail''' method. William Bilodeau and Michael Songy discovered this technique in October 1998, and presented the technique at Creativity, a Creative Labs developer's conference, in 1999.<ref>{{cite web|last=Yen |first=Hun |url=http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/the-theory-of-stencil-shadow-volumes-r1873 |title=The Theory of Stencil Shadow Volumes |publisher=GameDev.net |date=2002-12-03 |accessdate=2010-09-12}}</ref> [[Sim Dietrich]] presented this technique at both [[Game Developers Conference|GDC]] in March 1999, and at Creativity in late 1999.<ref>{{cite web|url=http://www.gamedev.net/topic/181647-stencil-shadows-patented--wtf/ |title=Stencil Shadows Patented!? WTF! - GameDev.net |date=2004-07-29 |accessdate=2012-03-28}}</ref><ref>{{cite web|url=http://techreport.com/discussions.x/7113 |title=Creative patents Carmack's reverse |publisher=The Tech Report |date=2004-07-29 |archive-url=https://web.archive.org/web/20100131044756/http://techreport.com/discussions.x/7113 |accessdate=2010-09-12|archive-date=2010-01-31 }}</ref> A few months later, William Bilodeau and Michael Songy filed a [[software patent|US patent application]] for the technique the same year entitled "Method for rendering shadows using a shadow volume and a stencil buffer".<ref>{{Cite patent|country=US|number=6384822|pubdate=2002-05-07|title=Method for rendering shadows using a shadow volume and a stencil buffer|assign1=[[Creative Technology Ltd.]]|inventor1-last=Bilodeau|inventor1-first=William|inventor2-last=Songy|inventor2-first=Michael}}</ref> [[John D. Carmack|John Carmack]] of [[id Software]] independently discovered the algorithm in 2000 during the development of ''[[Doom 3]]''.<ref>{{cite web|last=Kilgard |first=Mark |title=John Carmack on shadow volumes... |url=http://developer.nvidia.com/attach/6832 |work=Practical and Robust Shadow Volumes page of NVIDIA Developer Zone |publisher=NVIDIA |accessdate=18 October 2012 |author2=John Carmack |archiveurl=https://web.archive.org/web/20090127020935/http://developer.nvidia.com/attach/6832 |archivedate=January 27, 2009 |location=archive.org }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)