shadow volumes - cornell university · slide courtesy of kavita bala, cornell university shadow...

12
10 Shadow Volumes Steve Marschner CS5625 Spring 2015

Upload: others

Post on 10-Aug-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

10 Shadow Volumes

Steve Marschner CS5625 Spring 2015

Page 2: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

References

F. Crow, “Shadow Algorithms for Computer Graphics.” SIGGRAPH 1977. • http://dx.doi.org/10.1145/965141.563901

M. McGuire, “Efficient Shadow Volume Rendering.” GPU Gems, 2004. • http://http.developer.nvidia.com/GPUGems/gpugems_ch09.html

M. Stich et al., “Efficient and Robust Shadow Volumes Using Hierarchical Occlusion Culling and Geometry Shaders.” GPU Gems 3, 2008. • http://http.developer.nvidia.com/GPUGems3/gpugems3_ch11.html

E. Lengyel, “Projection Matrix Tricks.” Presentation at GDC 2007. • http://www.terathon.com/gdc07_lengyel.pdf

Page 3: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

Problem cases for shadow maps

Morgan McGuire, GPU Gems

Page 4: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

Problem cases for shadow maps

Mark Kilgard, NVIDIA Inc.

Page 5: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

slide courtesy of Kavita Bala, Cornell University

Shadow Volumes

• Crow 1977 • Accurate shadows

Image courtesy of BioWare Neverwinter Nights

Page 6: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

slide courtesy of Kavita Bala, Cornell University

Shadow Volumes

• Accurate shadows • Clever counting method using stencil buffer • Can cast shadows onto curved surfaces

Mark Kilgard, NVIDIA Inc.

Page 7: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

slide courtesy of Kavita Bala, Cornell University

Primitive Volume

Page 8: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

Geometry shader input

Stich et al. GPU Gems 3

Primitive type: GL_TRIANGLES_ADJACENCYor GL_TRIANGLE_STRIP_ADJACENCY

Page 9: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

slide courtesy of Kavita Bala, Cornell University

Creating Volumes

• Geometry shader can generate volumes on fly • Send edges as degenerate triangle • Check if silhouette wrt light

Page 10: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

slide courtesy of Kavita Bala, Cornell University

Clip plane issues

Page 11: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

slide courtesy of Kavita Bala, Cornell University

Near Plane Clip Issues

• Near plane clip discards part of shadow volume, messes up count

Page 12: Shadow Volumes - Cornell University · slide courtesy of Kavita Bala, Cornell University Shadow Volumes • Accurate shadows • Clever counting method using stencil buffer • Can

slide courtesy of Kavita Bala, Cornell University