Last Updated: 10/09/2008
Shadowing is a key component for convincing, solid-looking rendering. whether hard or soft, physically correct or perceptually satisfying, NVIDIA has been at the forefront of real-time shadowing technology. this page collects some of the shadow-related presentations and White Papers created in recent years by NVIDIA developers.
Hard shadows | Soft Shadows | ambient occlusion | raytracing
Hard shadows
-
Fast, practical, and robust shadow volumes
Whitpaper and sample demo, 2004
-
Combining efforts from Brown University and NVIDIA Corporation, this paper presents a set of algorithms for rendering shadows using the stencel buffer and the shadow volume technique. using a series of techniques for culling, clipping, and simplifying shadow volume geometry, it is possible to achieve greater performance than previous methods. the algorithm builds on previusly published algorithms by crow, everitt and kilgard, and Lengyel.
-
Samples from NVIDIA graphics SDK 10.5:
-
-
Cascaded shadow maps (whitepaper)
-
This sample uses strates cascaded Shadow Mapping with the use of texture arrays in OpenGL with glsl.
-
Volume light (whitepaper)
-
Volume light technique can be considered a simple approximation of real world light scattering effect.
-
Samples from NVIDIA graphics SDK 9.52:
-
-
HLSL hardware shadow map
-
This effect shows generating texture coordinates for Shadow Mapping, along with using the shadow map in the lighting equation per pixel.
-
Stencel shadow volume Extrusion
-
In this sample, vertex shaders are used to extrude polygon objects into stencel shadow volumes. this avoids the CPU cost of computing shadow volumes and updating the shadow volume Vertex buffers. it requires more memory to store additional face vertices and zero-area triangles for the Automatic Shadow volume extrusion.
-
Perspective shadow maps (User Guide)
-
This sample demonstrates hardware-accelerated large-scale perspective shadow maps, using Simon Kozlov's improvements in GPU gems.
-
Infinite shadow volumes
-
This sample implements the techniques described in the practical and robust shadow volumes paper.
-
Hardware shadow ing
White Paper, 2005
-
Covers the details behind basic hardware shadow ing with implementation details in OpenGL and direct3d.
-
Shadow considerations
White Paper, 2004
-
Strategic considerations when using shadows to achieve optimal performance and image quality.
-
GPU gems 2Online:
Part II,
Shading, lighting and shadows
-
-
Chapter 9. Deferred shading in s.t. A. L. K. E. R.
-
Chapter 13. Implementing the mental images phenomena Renderer on the GPU
-
GPU gemsOnline:
Part II,
Lighting and shadows
-
-
Chapter 9. Efficient shadow Volume Rendering
-
Chapter 10. cinematic Lighting
-
Chapter 11. Shadow Map antialiasing
-
Chapter 12. omnidirectional Shadow Mapping
-
Chapter 14. Perspective shadow maps: care and feeding
Also available in PDF
-
Chapter 15. Managing visibility for per-Pixel Lighting
-
OpenGL render to depth texture-2004 demo w/source
-
This demo shows how to render to depth textures for Shadow Mapping in OpenGL through the wgl_arb_render_texture and wgl_nv_render_depth_texture extensions.
-
Cedec 2001: Shadow Mapping with today's OpenGL hardware
-
Presentation given by Mark kilgard at cedec 2001 in Japan covers the use of shadow maps in OpenGL. Available as PDF in both English and Japan.
-
How-to: cgfx/Collada shared-surface shadowing
-
Description and Python tools for Collada shared surfaces, which can be used to develop scene-Global shadows, reflections, and refractions in
FX composer 2.
-
GDC 2003: from gaffer to Game Engine-cinematic Effects
-
This presentation covers a wide range of creative shadow and lighting methods and uses, gleaned from the motion picture industry, television, and even Italian Renaissance painting, with Concrete real-time examples -- even GPU-driven interactive raytracing!
Soft Shadows
-
Samples from NVIDIA graphics SDK 10.5:
-
-
Percentage closer Soft Shadows (whitepaper)
-
Percentage closer Soft Shadows (pcss) is a Shadow Mapping technique that renders realistic Soft Shadows with varying penumbra that harden on contact.
-
Variance Shadow Mapping (whitepaper)
-
Variance Shadow Mapping was introduced in 2006 as a way to produce high quality Soft Shadows using arbitrary Filter Kernels. this allows for a sizable performance benefit over PCF as the shadow map can be pre-filtered with a separable blur.
-
Soft Shadows (whitepaper)
-
This demo presents two algorithms for soft shadow rendering. the common advantage of the presented algorithms is that, in contrast with standard PCF (percentage closer filtering) algorithms, they do not use pseudo-random samples to sample the shadow map. hence, partially shadowed areas lack noise typically introduced by PCF algorithms.
-
Samples from NVIDIA graphics SDK 9.52:
-
-
HLSL Soft Shadows (whitepaper)
-
This sample shows how to use conditional branching to compute filtered Soft Shadows efficiently. This technique cocould also be applied to accelerate other filtering algorithms to increase performance limit on GPUs that support Shader Model 3.0.
-
Simple Soft Shadows (whitepaper)
-
This sample demonstrates how branching in fragment programs can be used to optimize soft shadow rendering in OpenGL. this technique cocould also be applied to accelerate other filtering algorithms to increase performance signiicantly on GPUs that support Shader Model 3.0.
-
GDC 2008: Soft shadow ing
-
Part of a day-long collaboration of hardware and software vendors, this presentation covers a range of available soft shadowing techniques and ES details of their varying implementations and advantages.
-
Variance shadow maps
(Pdf) 2006
-
Shadow maps are a widely used shadowing technique in real time graphics. one major drawback of their use is that they cannot be filtered in the same way as color textures, typically leading to severe aliasing. variance shadow maps is an algorithm that approximates the occlusion, and solves the problem of shadow map aliasing with minimal additional storage and computation.
-
Nvision08: Beautiful women of the future
-
The last portion of this character-animation talk covers shadowing on characters and between des images from a survey on valid tive hair rendering techniques.
-
Siggraph 2005: exposing the SDK
-
Contains shadowing algorithms including a soft, "Anime shadow" technique borrowed from Studio Ghibli.
-
Whitepaper: Integrating realistic Soft Shadows into your game engine
-
How to easily integrate an efficient method for creating realistic Soft Shadows on DirectX 10 and high-end DirectX 9 GPUs. samples show our technique implemented in the recently (2008) released game
Hellgate: London, Developed by Flagship Studios
-
GPU gems 2Online:
-
-
Chapter 17. Efficient soft-edged shadows using pixel shader branching
-
GPU gemsOnline:
-
-
Chapter 13. Generating Soft Shadows using occlusion interval maps
Ambient occlusion
-
To trace or not to trace:
Image-space horizon-based ambient occlusion
Louis bavoil, Miguel Sainz, and Rouslan Dimitrov, NVIDIA Corporation
(Related Japanese presentation)
-
Ambient occlusion is a lighting model that approximates the amount of light reaching a point on a diffuse Surface Based on its directly visible occluders. it provides a soft shadow appearance which enhances depth perception and spatial relationship between objects. in this talk, we present a new algorithm for rendering ambient occlusion as a post-processing pass by sampling a depth buffer and its associated normal buffer. we discuss how to integrate this approach in real-time engines as well as provide performance analysis.
-
Sample from NVIDIA graphics sdks 10.5: screen space ambient occlusion (whitepaper)
-
Ambient occlusion is a lighting model that approximates the amount of light reaching a point on a diffuse Surface Based on its directly visible occluders. we present a novel screen space ambient occlusion algorithm that gives perceptual clues of curvature and spatial proximity and thus is commonly used to add a Global Illumination look to rendered images. our approach operates on the depth buffer of the scene being rendered and the associated per-pixel normal buffer.
-
Samples from NVIDIA graphics SDK 9.52:
-
-
Dynamic ambient occlusion (whitepaper)
-
This sample demonstrates a new technique for computing diffuse light transfer and shows how it can be used to compute Global Illumination for animated scenes. the technique efficiently calculates ambient occlusion and Indirect lighting data on the fly for each rendered frame. it does not have the limitations of precomputed Radiance Transfer (PRT) or precomputed ambient occlusion techniques, which are limited to rigid objects that do not move relative to one another. it works by treating polygon meshes as a set of surface elements that can emit, transmit, or reflect light and that can shadow each other. this method is efficient because it works without calculating the visibility of one element to another. instead, it uses a much simpler and faster technique that uses shadowing to account for occluding (blocking) geometry.
-
Ambient Occlusion using hardware shadow maps
-
This example demonstrates hardware-accelerated "ambient occlusion" using a hemisphere of shadow-mapped lights. each light is rendered in a separate pass, and the results are summed together using a floating point accumulation buffer. the projection matrix is randomly jittered to provide anti-aliasing.
-
GDC 2008: Real-time ambient occlusion
-
This lecture does a review of multiple depth-buffer-based ambient occlusion techniques. three of the described algorithms are Ray-marching in the depth buffer, an algorithm based on accumulating solid angles, and a new hybrid method called "tangent tracing."
-
GPU gems 2Online:
-
-
Chapter 14. dynamic ambient occlusion and Indirect lighting
-
GPU gemsOnline:
-
-
Chapter 17. Ambient occlusion
Ray Tracing
-
Interactive ray tracing with Cuda
David luebke and Steven Parker, NVIDIA Corporation
-
Ray tracing has long been associated with high-quality graphics, but it has not been suitable for interactive use. with Cuda and an nvidia gpu, it is now possible to Ray Trace reflections from curved surfaces, refractions, and accurate shadows. by combining these effects with Rasterization to efficiently compute viewing Ray intersections, accurate inter-reflections and other effects can be achieved at high resolutions and frame rates.
Want to learn more?NVIDIA documentation Home Page