Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

A method for real-time shadow rendering in a 3-D graphics scene uses an inverted z-test to mark a shadow area in a stencil buffer. Front and back facing shadow volume polygons are rendered subsequent to rendering the scene and corresponding stencil buffer entries are incremented for pixels viewing the back facing polygon when the new z-test is passed and decremented for pixels viewing the front facing polygons when the new z-test is passed. The new z-test is passed for pixels having depth (z) values greater than the corresponding depth value stored z-buffer.

InventorsWilliam Bilodeau, Michael Songy
Original AssigneeCreative Technology Ltd.
Primary Examiner: Phu K. Nguyen
Attorney: Townsend and Townsend and Crew, LLP
Current U.S. Classification345/422
International Classification: G06T/1500

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5163126May 10, 1990Nov 10, 1992International Business Machines CorporationMethod for adaptively providing near Phong grade shading for patterns in a graphics display system
US5617322Jan 30, 1995Apr 1, 1997NEC CorporationMesh generator and generating method
US5659671Apr 25, 1996Aug 19, 1997International Business Machines CorporationMethod and apparatus for shading graphical images in a data processing system
US5808617Jun 27, 1996Sep 15, 1998Microsoft CorporationMethod and system for depth complexity reduction in a graphics rendering system
US5825369Jul 30, 1996Oct 20, 1998International Business Machines CorporationCompression of simple geometric models using spanning trees
US5864342Jun 27, 1996Jan 26, 1999Microsoft CorporationMethod and system for rendering graphical objects to image chunks
US5867166Jun 27, 1996Feb 2, 1999Microsoft CorporationMethod and system for generating images using Gsprites
US5870097Jun 27, 1996Feb 9, 1999Microsoft CorporationMethod and system for improving shadowing in a graphics rendering system
US5999187Jun 27, 1997Dec 7, 1999Resolution Technologies, Inc.Fly-through computer aided design method and apparatus
US6252608Oct 22, 1998Jun 26, 2001Microsoft CorporationMethod and system for improving shadowing in a graphics rendering system
US6326964Nov 6, 1998Dec 4, 2001Microsoft CorporationMethod for sorting 3D object geometry among image chunks for rendering in a layered graphics rendering system

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US6853965Nov 16, 2001Feb 8, 2005Massachusetts Institute of TechnologyForce reflecting haptic interface
US6867770Dec 14, 2001Mar 15, 2005SensAble Technologies, Inc.Systems and methods for voxel warping
US6888547Aug 23, 2001May 3, 2005Konami CorporationThree-dimensional image processing method and apparatus, readable storage medium storing three-dimensional image processing program and video game system
US6958752Dec 14, 2001Oct 25, 2005SensAble Technologies, Inc.Systems and methods for three-dimensional modeling
US6967662Feb 8, 2002Nov 22, 2005Imagination Technologies LimitedVolume clipping in computer 3D graphics
US7030878Mar 19, 2004Apr 18, 2006VIA Technologies, Inc.Method and apparatus for generating a shadow effect using shadow volumes
US7102635May 12, 2004Sep 5, 2006SensAble Technologies, Inc.Systems and methods for sculpting virtual objects in a haptic virtual reality environment
US7103499Aug 28, 2003Sep 5, 2006SensAble Technologies, Inc.3-D selection and manipulation with a multiple dimension haptic interface
US7104891Nov 6, 2002Sep 12, 2006Nintendo Co., Ltd.Game machine and game program for displaying a first object casting a shadow formed by light from a light source on a second object on a virtual game space
US7113183Apr 25, 2002Sep 26, 2006Anark CorporationMethods and systems for real-time, interactive image composition
US7145565May 23, 2003Dec 5, 2006NVIDIA CorporationDepth bounds testing
US7149596May 28, 2004Dec 12, 2006SensAble Technologies, Inc.Apparatus and methods for modifying a model of an object to enforce compliance with a manufacturing constraint
US7212203Feb 8, 2005May 1, 2007SensAble Technologies, Inc.Systems and methods for voxel warping
US7225404Oct 26, 2001May 29, 2007Massachusetts Institute of TechnologyMethod and apparatus for determining forces to be applied to a user through a haptic interface
US7259761Jul 17, 2006Aug 21, 2007SensAble Technologies, Inc.Systems and methods for sculpting virtual objects in a haptic virtual reality environment
US7277098Aug 23, 2004Oct 2, 2007VIA Technologies, Inc.Apparatus and method of an improved stencil shadow volume operation
US7286129May 24, 2004Oct 23, 2007Nvidia CorporationTwo-sided stencil testing system and method
US7286134Dec 17, 2003Oct 23, 2007NVIDIA CorporationSystem and method for packing data in a tiled graphics memory
US7319466May 18, 2000Jan 15, 2008SensAble Technologies, Inc.Method and apparatus for generating and interfacing with a haptic virtual reality environment
US7420568Dec 14, 2005Sep 2, 2008Nvidia CorporationSystem and method for packing data in different formats in a tiled graphics memory
US7480600Nov 16, 2004Jan 20, 2009The Massachusetts Institute of TechnologyForce reflecting haptic interface
US7626589Dec 10, 2003Dec 1, 2009SensAble Technologies, Inc.Haptic graphical user interface for adjusting mapped texture
US7710415Jul 11, 2005May 4, 2010Sensable Technologies, Inc.Systems and methods for three-dimensional modeling
US7800609Jan 2, 2008Sep 21, 2010SensAble Technologies, Inc.Method and apparatus for generating and interfacing with a haptic virtual reality environment
US7864173Jul 27, 2004Jan 4, 2011SensAble Technologies, Inc.Systems and methods for creating virtual objects in a sketch mode in a haptic virtual reality environment
US7889209Dec 10, 2003Feb 15, 2011Sensable Technologies, Inc.Apparatus and methods for wrapping texture onto the surface of a virtual object
US7978194Mar 2, 2004Jul 12, 2011ATI Technologies ULCMethod and apparatus for hierarchical Z buffering and stenciling
US8059131Jul 18, 2008Nov 15, 2011NVIDIA CorporationSystem and method for packing data in different formats in a tiled graphics memory
US8174535Feb 14, 2011May 8, 2012SensAble Technologies, Inc.Apparatus and methods for wrapping texture onto the surface of a virtual object

Claims

1. A 3-D graphics method performed by a computer for real-time rendering of shadows in 3-D scenes to be displayed on a computer monitor, with the method using a shadow volume, calculated for a first object in a 3-D scene and defined as a region of space in the 3-D scene bounded by transparent shadow volume polygons in which the first scene object will cast a shadow on any part of another scene object included with in the shadow volume, and the method using a stencil buffer and a depth buffer, with both the stencil buffer and depth buffer having an entry for each pixel in a bit map for displaying the 3-D scene on a computer monitor, said method comprising the steps of:

drawing the 3-D scene without the transparent shadow volume polygons and rendering depth into the depth buffer;
enabling an inverted depth buffer comparison test where a current pixel having a depth value greater than a depth value stored in a corresponding entry of the depth buffer passes the test;
disabling writes to the depth buffer;
initializing the stencil buffer by resetting all stencil buffer entries;
for a current viewpoint, rendering transparent shadow polygons facing away from the current viewpoint and incrementing corresponding stencil buffer entries only for pixels which pass the inverted depth buffer comparison test; and
for the current viewpoint, rendering transparent shadow polygons facing toward the current viewpoint and decrementing corresponding stencil buffer entries only for pixels which pass the inverted depth buffer comparison test so that the stencil buffer marks out an area of the 3-D scene included in the shadow cast by the first object.

2. The method of claim 1 further comprising the steps of:

filling the area marked out by the stencil buffer with a transparent gray polygon to cause a shadow to appear.

3. The method of claim 1 further comprising the steps of:

dimming the light falling in the area marked out by the stencil buffer to cause a shadow to appear.

4. The method of claim 1 further comprising the steps of:

calculating the dot product of an outward normal of each transparent shadow volume polygon with a vector pointing from the current viewpoint to the transparent shadow polygon;
identifying transparent shadow volume polygons as facing toward the viewpoint if a value of the dot product is negative;
identifying transparent shadow volume polygons as facing away from the viewpoint if the value of the dot product is positive.

5. A computer program product for real-time rendering of shadows in 3-D scenes to be displayed on a computer monitor, with the method using a shadow volume, calculated for a first object in a 3-D scene and defined as a region of space in the 3-D scene bounded by transparent shadow volume polygons in which the first scene object will cast a shadow on any part of another scene object included with in the shadow volume, and with the computer program product using a stencil buffer and a depth buffer, with both the stencil buffer and depth buffer having an entry for each pixel in a bit map for displaying the 3-D scene on a computer monitor, said computer program product comprising:

a computer readable medium for storing computer program code therein, with said computer program code including;
computer program code for drawing the 3-D scene without the transparent shadow volume polygons and rendering depth into the depth buffer;
computer program code enabling an inverted depth buffer comparison test where a current pixel having a depth value greater than a depth value stored in a corresponding entry of the depth buffer passes the test;
computer program code disabling writes to the depth buffer;
computer program code initializing the stencil buffer by resetting all stencil buffer entries;
for a current viewpoint, computer program code rendering transparent shadow polygons facing away from the current viewpoint and incrementing corresponding stencil buffer entries only for pixels which pass the inverted depth buffer comparison test; and
for the current viewpoint, computer program code rendering transparent shadow polygons facing toward the current viewpoint and decrementing corresponding stencil buffer entries only for pixels which pass the inverted depth buffer comparison test so that the stencil buffer marks out an area of the 3-D scene included in the shadow cast by the first object.