WO2010109002A1 - Method for generating shadows in an image - Google Patents
Method for generating shadows in an image Download PDFInfo
- Publication number
- WO2010109002A1 WO2010109002A1 PCT/EP2010/053976 EP2010053976W WO2010109002A1 WO 2010109002 A1 WO2010109002 A1 WO 2010109002A1 EP 2010053976 W EP2010053976 W EP 2010053976W WO 2010109002 A1 WO2010109002 A1 WO 2010109002A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- depth
- pixel
- visible
- map
- image
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/12—Shadow map, environment map
Definitions
- the invention concerns a method for generating shadows in an image.
- a scene can include a variety of textures, color gradations, reflections, translucency, and , most particularly, shadows. Shadows enhance the realism of an image because they give a two-dimensional (2D) image the appearance of being three-dimensional.
- shadows is critical in games environment for instance as it has to be generated in real-time according to the movements in the scene which are guided by the games users.
- Shadow volumes A common shadowing method, called shadow volumes is described in the document from F. Crow entitled “Shadow Algorithms for Computer Graphics” published in the proceedings of SIGGRAPH in 1977. In this document, the silhouette of shadow-casting objects is extruded to determine the shadowing. While this method provides high quality shadows, it is limited to simple scenes and is computationally intensive.
- This artifact can typically be reduced using percentage-closer filtering disclosed in the article from M. Bunnell and F. Pellacini entitled “Shadow Map
- the distance comparison may return erroneous values for occluding objects very close to each other, or on surfaces nearly tangent to the light direction.
- the user-defined bias value offsets the distance comparisons so that erroneous shadowing is removed.
- this results in an undesired shifting of the shadows.
- a same bias value is used for rendering the entire scene, 'problematic' objects force a shifting of all the other shadows to avoid artifacts.
- the present invention proposes to solve at least one of these drawbacks.
- the present invention concerns a method for generating shadows in an image comprising the steps of: - Computing a depth-map that comprises an array of pixels, wherein pixels in the depth-map have a depth value that indicates a depth from the light source to a portion of the nearest occluding object visible through the pixel,
- the method further comprises the steps of - computing, for each pixel, an adaptive bias as a function of a predetermined base bias and the orientation of the surface on which the said visible point is located,
- said adaptive bias is dependant on said surface normal.
- said adaptive bias is defined as the division of said predetermined base bias by the dot product of the surface normal by the incident light direction.
- said adaptive bias is limited to a maximum value.
- the invention concerns also a graphics processing unit comprising code instructions for performing the method according to any of the previous claims.
- the invention concerns also a computer program product for computing shadows for an image, the computer program product comprising a computer-readable medium containing computer program code for performing the steps of the method according to any of claims 1 to 4.
- the invention concerns a graphics processing unit comprising code instructions for performing the method according to any of the previous claims.
- the invention concerns a computer program product for computing shadows for an image, the computer program product comprising a computer-readable medium containing computer program code for performing the steps of the method according to the invention.
- FIG. 1 represents an overview of a scene for which shadows have to be generated
- FIG. 2 represents an algorithm of shadow mapping, with adaptive bias
- - Figure 4 represents the aliasing phenomenon on surfaces
- - Figure 5 represents a device implementing the method of shadow mapping, according to an embodiment of the invention.
- the scene for which shadows have to be generated is represented.
- the proposed method enables the generation of shadows in real-time.
- a video game is played, according to the displacement of persons in a scene, guided by the user, the shadows have to be generated in real-time. Therefore, the method is advantageously executed thanks to a Graphics Processing unit, known under the acronym of GPU, on a computer or graphics processing board of a computer.
- the GPU will execute the software instructions to execute the method which is disclosed hereafter.
- the code instructions are stored on a computer-readable medium, such as a memory.
- the method is based on the fact that a light source and a virtual camera are positioned in the scene.
- a virtual camera 1 captures the scene according to a particular point of view, which gives as result an image 10 representative of the scene, for which shadows have to be generated.
- a light source 2 is positioned as shown on figure 1.
- a sphere 4 is located in the scene and represents an occluding object for an image 10. Some pixels of the image 10 are associated to points belonging to a plane surface 3, these pixels corresponding to the pixels of the image 10 through which points of of the plane surface are visible by the virtual camera 1.
- the light source 2 projects light rays 5 which illuminate part of the sphere 4.
- the image 10 comprises an array of pixels that represent a three- dimensional scene as viewed from a particular point of the virtual camera 1.
- a depth map 6 is computed.
- the depth map 6 includes an array of pixels, where instead of having a color value, each pixel has a depth value.
- Each pixel in the depth map has coordinates (x sm , y sm ).
- the depth value is defined with reference to a z-axis, which is normal to the depth-map.
- the flowchart given in figure 2 is based on a real-time shadow-mapping algorithm but it is not limited to this method and the invention can be based on any shadow mapping-based technique.
- steps E2 and E7 described later on are different.
- a camera is positioned at the light source location, thanks to the facilities offered by virtual reality.
- a step E2 the scene is rendered from the camera positioned at the light source location.
- the distance d sm (x S m, ysm), visible on figure 1 with reference numeral 8, to each point which is visible from this camera position is stored in the shadow map.
- the shadow map is a depth-map texture stored in a graphics memory.
- a step E3 the rendering process is initialized and in the following steps the camera is located in its original position.
- the user defines the bias b base which depends only on the scene scale. For instance, the value 0,1 is suitable for a scene which length unit is the meter.
- a first pixel Pix as in the final image is chosen. All the pixels will be chosen one after the others. In other embodiments, depending on the processor capabilities, several pixels can be processed simultaneously.
- the point P visible through pixel Pix is projected into the light space.
- the light space corresponds to a representation of the scene (as represented in the image (10) as seen from the light source 2.
- the distance d p from P to the light source is computed according to any method well known by the person skilled in the art, for example by using Euclidean distance. It is shown on figure 1 as reference numeral 9.
- This light ray from the light source to the point P, crosses the depth map at pixel (1 1 ) of coordinates (x sm , y sm ) and the corresponding distance d sm (xsm, ysm) to the nearest occluder is fetched from the shadow map in a step E8.
- an adaptive bias is computed. As shown in figure 4, in conventional methods, there is aliasing on surfaces. Aliasing artifacts tend to appear when the rendered surface gets tangent to the lighting direction.
- the limited sampling rate yields zones in which points are successively labeled as lit or shadowed.
- the bias value must be raised. Conversely, surfaces nearly perpendicular to the lighting direction do not require a high bias value.
- a per-pixel bias adaptation function is defined. Given the user-defined base bias value b baS e which only depends on the scene scale, the actual bias b used to determine the shadowing is computed according to the following equation:
- a test is performed.
- D p represents the distance from the light source to the point P and D sm represents the distance from the light source to the shadow map.
- P associated to the pixel Pix is labeled as a shadowed pixel.
- P associated to the pixel Pix is labeled as a lit pixel.
- step E13 in which a test is performed in order to check whether this is the last pixel of the scene. If yes, the whole scene has been processed, otherwise, one moves further to step E15, in which a next pixel is chosen and one moves back to step E6, and so on and so forth until all pixels have been reviewed (step E14).
- Figure 5 illustrates schematically a hardware embodiment of a device 5 adapted for generating shadows in an image.
- the device 5 corresponds for example to personal computer, to a laptop, to a game console or to any image processing unit.
- the device 5 comprises following elements, linked together by an address and data bus 55:
- microprocessor 51 or CPU
- a graphical card 52 comprising: o several graphical processing units 520 (GPUs); o a graphical random access memory 521 ; - a non volatile memory such as ROM (Read Only Memory) 56;
- RAM Random Access memory
- I/O devices 54 such as for example a keyboard, a mouse, a webcam, and so on;
- the device 5 also comprises a display device 53 such as a display screen directly connected to the graphical card 52 for notably displaying the rendering of images computed and composed in the graphical card, for example in real time.
- the display device 53 is outside the device 5.
- the word "register" used in the description of memories 52, 56 and 57 designates in each of the memories mentioned, a memory zone of low capacity (some binary data) as well as a memory zone of large capacity (enabling a whole programme to be stored or all or part of the data representative of computed data or data to be displayed).
- the microprocessor 51 loads and runs the instructions of the algorithm comprised in RAM 57.
- the memory RAM 57 comprises in particular: - in a register 570, a "prog" program loaded at power up of the device 5; - data 571 representative of the scene to be rendered.
- Algorithms implementing the steps of the method of the invention are stored in memory GRAM 521 of the graphical card 52 associated to the device 5 implementing these steps.
- GPUs 520 of the graphical card load these data in GRAM 521 and execute instructions of these algorithms under the form of micro-programs called "shaders" using HLSL language (High Level Shader Language), GLSL language (OpenGL Shading Language) for example.
- HLSL language High Level Shader Language
- GLSL language OpenGL Shading Language
- the memory GRAM 421 comprises in particular: - in a register 5210, data representative of the scene to be rendered;
- the adaptive bias 5213 computed for the pixel of the depth map associated to the visible point(s) P.
- the power supply is outside the device 5.
- the invention as described in the preferred embodiments is advantageously computed using a Graphics processing unit (GPU) on a graphics processing board.
- GPU Graphics processing unit
- the invention is also therefore implemented preferentially as software code instructions and stored on a computer-readable medium such as a memory (flash, SDRAM%), said instructions being read by a graphics processing unit.
- a computer-readable medium such as a memory (flash, SDRAM%), said instructions being read by a graphics processing unit.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/138,652 US9569884B2 (en) | 2009-03-27 | 2010-03-26 | Method for generating shadows in an image |
JP2012501313A JP5437475B2 (en) | 2009-03-27 | 2010-03-26 | Shading generation method for images |
CN201080015184.9A CN102365657B (en) | 2009-03-27 | 2010-03-26 | Method for generating shadows in an image |
EP10710352A EP2411967B1 (en) | 2009-03-27 | 2010-03-26 | Method for generating shadows in an image |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09364002.7 | 2009-03-27 | ||
EP09364002A EP2234069A1 (en) | 2009-03-27 | 2009-03-27 | Method for generating shadows in an image |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010109002A1 true WO2010109002A1 (en) | 2010-09-30 |
Family
ID=40853814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2010/053976 WO2010109002A1 (en) | 2009-03-27 | 2010-03-26 | Method for generating shadows in an image |
Country Status (6)
Country | Link |
---|---|
US (1) | US9569884B2 (en) |
EP (2) | EP2234069A1 (en) |
JP (1) | JP5437475B2 (en) |
KR (1) | KR101652141B1 (en) |
CN (1) | CN102365657B (en) |
WO (1) | WO2010109002A1 (en) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2988891A1 (en) * | 2012-03-29 | 2013-10-04 | Thomson Licensing | METHOD FOR ESTIMATING OPACITY LEVEL IN A SCENE AND CORRESPONDING DEVICE |
JP2015119277A (en) * | 2013-12-17 | 2015-06-25 | オリンパスイメージング株式会社 | Display apparatus, display method, and display program |
CN104134230B (en) * | 2014-01-22 | 2015-10-28 | 腾讯科技(深圳)有限公司 | A kind of image processing method, device and computer equipment |
US10083541B2 (en) | 2014-03-13 | 2018-09-25 | Imagination Technologies Limited | Object illumination in hybrid rasterization and ray traced 3-D rendering |
US10229526B2 (en) | 2014-03-13 | 2019-03-12 | Imagination Technologies Limited | Rendering of soft shadows |
CN104951036B (en) * | 2014-03-27 | 2017-12-15 | 腾讯科技(深圳)有限公司 | A kind of interface method of adjustment and terminal |
US9530244B2 (en) | 2014-11-11 | 2016-12-27 | Intergraph Corporation | Method and apparatus for shadow estimation and spreading |
US10311629B2 (en) * | 2016-01-22 | 2019-06-04 | Intel Corporation | Level of detail selection during ray tracing |
CN106530387A (en) * | 2016-11-29 | 2017-03-22 | 国家电网公司 | Variance shadow optimization method |
EP3590096A4 (en) | 2017-03-03 | 2020-12-23 | Intergraph Corporation | Shadow casting for an elevation data grid |
WO2019031259A1 (en) * | 2017-08-08 | 2019-02-14 | ソニー株式会社 | Image processing device and method |
JP6487578B1 (en) * | 2018-01-05 | 2019-03-20 | 株式会社スクウェア・エニックス | Program, recording medium, and shadow drawing method |
CN109447925B (en) * | 2018-09-28 | 2021-07-09 | Oppo广东移动通信有限公司 | Image processing method and device, storage medium and electronic equipment |
JP7479840B2 (en) | 2019-12-27 | 2024-05-09 | キヤノン株式会社 | Image processing device, image processing method, and program |
CN111145330B (en) * | 2019-12-31 | 2023-06-30 | 广州方硅信息技术有限公司 | Human model rendering method and device, electronic equipment and storage medium |
CN111292408B (en) * | 2020-01-21 | 2022-02-01 | 武汉大学 | Shadow generation method based on attention mechanism |
CN111815750A (en) * | 2020-06-30 | 2020-10-23 | 深圳市商汤科技有限公司 | Method and device for polishing image, electronic equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742749A (en) * | 1993-07-09 | 1998-04-21 | Silicon Graphics, Inc. | Method and apparatus for shadow generation through depth mapping |
US5870097A (en) | 1995-08-04 | 1999-02-09 | Microsoft Corporation | Method and system for improving shadowing in a graphics rendering system |
US7119806B1 (en) * | 2000-05-31 | 2006-10-10 | Nvidia Corporation | System, method and article of manufacture for shadow mapping |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5377313A (en) * | 1992-01-29 | 1994-12-27 | International Business Machines Corporation | Computer graphics display method and system with shadow generation |
US5739820A (en) * | 1992-11-19 | 1998-04-14 | Apple Computer Inc. | Method and apparatus for specular reflection shading of computer graphic images |
US5880736A (en) | 1997-02-28 | 1999-03-09 | Silicon Graphics, Inc. | Method system and computer program product for shading |
US6791544B1 (en) | 2000-04-06 | 2004-09-14 | S3 Graphics Co., Ltd. | Shadow rendering system and method |
US6664963B1 (en) * | 2000-05-31 | 2003-12-16 | Nvidia Corporation | System, method and computer program product for programmable shading using pixel shaders |
US6593923B1 (en) * | 2000-05-31 | 2003-07-15 | Nvidia Corporation | System, method and article of manufacture for shadow mapping |
US6760024B1 (en) * | 2000-07-19 | 2004-07-06 | Pixar | Method and apparatus for rendering shadows |
US20030076320A1 (en) * | 2001-10-18 | 2003-04-24 | David Collodi | Programmable per-pixel shader with lighting support |
US7075530B2 (en) * | 2003-02-27 | 2006-07-11 | International Business Machines Corporation | Fast lighting processors |
US7106326B2 (en) * | 2003-03-03 | 2006-09-12 | Sun Microsystems, Inc. | System and method for computing filtered shadow estimates using reduced bandwidth |
US20040239673A1 (en) * | 2003-05-30 | 2004-12-02 | Schmidt Karl Johann | Rendering soft shadows using depth maps |
US7924281B2 (en) | 2005-03-09 | 2011-04-12 | Ati Technologies Ulc | System and method for determining illumination of a pixel by shadow planes |
US7969438B2 (en) * | 2007-01-23 | 2011-06-28 | Pacific Data Images Llc | Soft shadows for cinematic lighting for computer graphics |
US8189003B2 (en) * | 2007-05-08 | 2012-05-29 | Dreamworks Animation Llc | System and method for rendering computer graphics utilizing a shadow illuminator |
CN101055645B (en) * | 2007-05-09 | 2010-05-26 | 北京金山软件有限公司 | A shade implementation method and device |
JP5007633B2 (en) * | 2007-09-04 | 2012-08-22 | 株式会社セガ | Image processing program, computer-readable recording medium storing the program, image processing apparatus, and image processing method |
CN100468462C (en) * | 2007-09-26 | 2009-03-11 | 腾讯科技(深圳)有限公司 | Shadows plotting method and rendering device thereof |
US8471853B2 (en) * | 2007-10-26 | 2013-06-25 | Via Technologies, Inc. | Reconstructable geometry shadow mapping method |
CN101393651A (en) * | 2008-11-07 | 2009-03-25 | 北京航空航天大学 | View field driving real-time shadow method |
-
2009
- 2009-03-27 EP EP09364002A patent/EP2234069A1/en not_active Withdrawn
-
2010
- 2010-03-26 US US13/138,652 patent/US9569884B2/en active Active
- 2010-03-26 EP EP10710352A patent/EP2411967B1/en active Active
- 2010-03-26 WO PCT/EP2010/053976 patent/WO2010109002A1/en active Application Filing
- 2010-03-26 KR KR1020117022706A patent/KR101652141B1/en active IP Right Grant
- 2010-03-26 CN CN201080015184.9A patent/CN102365657B/en active Active
- 2010-03-26 JP JP2012501313A patent/JP5437475B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742749A (en) * | 1993-07-09 | 1998-04-21 | Silicon Graphics, Inc. | Method and apparatus for shadow generation through depth mapping |
US5870097A (en) | 1995-08-04 | 1999-02-09 | Microsoft Corporation | Method and system for improving shadowing in a graphics rendering system |
US7119806B1 (en) * | 2000-05-31 | 2006-10-10 | Nvidia Corporation | System, method and article of manufacture for shadow mapping |
Non-Patent Citations (5)
Title |
---|
F. CROW: "Shadow Algorithms for Computer Graphics", PROCEEDINGS OF SIGGRAPH, 1977 |
FOLEY C ET AL: "Computer graphics: principles and practice second edition (pages 721-731)", COMPUTER GRAPHICS: PRINCIPLES AND PRACTICE, XX, XX, 1 January 1996 (1996-01-01), pages 721 - 731, XP008107775 * |
L. WILLIAMS: "Casting curved shadows on curved surfaces", PROCEEDINGS OF SIGGRAPH, 1978 |
M. BUNNELL; F. PELLACINI: "GPU Gems", 2004, ADDISON WESLEY, article "Shadow Map Antialiasing" |
SCHÜLER ET AL: "Eliminating Surface Acne with Gradient Shadow Mapping", SHADERX4. ADVANCED RENDERING TECHNIQUES, CHARLES RIVER MEDIA, INC, HINGHAM, MASSACHUSETTS, 12 January 2006 (2006-01-12), pages 289 - 297, XP009120714, ISBN: 978-1-58450-425-2 * |
Also Published As
Publication number | Publication date |
---|---|
EP2411967A1 (en) | 2012-02-01 |
JP5437475B2 (en) | 2014-03-12 |
EP2411967B1 (en) | 2013-01-23 |
US20120001911A1 (en) | 2012-01-05 |
KR101652141B1 (en) | 2016-08-29 |
EP2234069A1 (en) | 2010-09-29 |
CN102365657B (en) | 2014-09-17 |
KR20120002578A (en) | 2012-01-06 |
US9569884B2 (en) | 2017-02-14 |
JP2012522283A (en) | 2012-09-20 |
CN102365657A (en) | 2012-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2411967B1 (en) | Method for generating shadows in an image | |
Szirmay‐Kalos et al. | Displacement Mapping on the GPU—State of the Art | |
McGuire et al. | Hardware-accelerated global illumination by image space photon mapping | |
US20100231583A1 (en) | Image processing apparatus, method and program | |
McGuire et al. | Fast, practical and robust shadows | |
US6791544B1 (en) | Shadow rendering system and method | |
Koster et al. | Real-time rendering of human hair using programmable graphics hardware | |
Policarpo et al. | Deferred shading tutorial | |
KR20070008707A (en) | Graphics pipeline for rendering graphics | |
Zhang et al. | Volumetric shadows using splatting | |
Qu et al. | Ray tracing height fields | |
Schäfer et al. | Real-Time Deformation of Subdivision Surfaces from Object Collisions. | |
Stewart et al. | Pixelview: A view-independent graphics rendering architecture | |
Bernik et al. | Generating Terrain And Hi Details Using Texture Maps | |
Coombe et al. | Global illumination using progressive refinement radiosity | |
Hanák | Real-time snow deformation | |
Halli et al. | Per-pixel displacement mapping using cone tracing | |
KR0153664B1 (en) | 3d object generator in a graphic system | |
Tamura et al. | Deferred shadowing for real‐time rendering of dynamic scenes under environment illumination | |
Leshonkov et al. | Real-time Rendering of Small-scale Volumetric Structure on Animated Surfaces | |
McGraw et al. | Hardware accelerated per-texel ambient occlusion mapping | |
Ravindra | Simulation of water using opengl/jogl | |
Kastrati et al. | Selective Rasterized Ray-traced Reflections on the GPU. | |
Frid Kastrati et al. | Selective rasterized ray-traced reflections on the GPU | |
Es | Accelerated ray tracing using programmable graphics pipelines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080015184.9 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10710352 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13138652 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012501313 Country of ref document: JP |
|
ENP | Entry into the national phase |
Ref document number: 20117022706 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010710352 Country of ref document: EP |