Beyond Programmable Shading Course, ACM SIGGRAPH 20111/66.

Slides:



Advertisements
Similar presentations
Accelerating Real-Time Shading with Reverse Reprojection Caching Diego Nehab 1 Pedro V. Sander 2 Jason Lawrence 3 Natalya Tatarchuk 4 John R. Isidoro 4.
Advertisements

Grass, Fur and all things hairy Nicolas ThibierozKarl Hillesland Gaming Engineering Manager, AMDSenior Research Engineer, AMD.
SHREYAS PARNERKAR. Motivation Texture analysis is important in many applications of computer image analysis for classification or segmentation of images.
Sven Woop Computer Graphics Lab Saarland University
Inpainting Assigment – Tips and Hints Outline how to design a good test plan selection of dimensions to test along selection of values for each dimension.
Stratified Sampling for Stochastic Transparency
High-Quality Parallel Depth-of- Field Using Line Samples Stanley Tzeng, Anjul Patney, Andrew Davidson, Mohamed S. Ebeida, Scott A. Mitchell, John D. Owens.
GCAFE 28 Feb Real-time REYES Jeremy Sugerman.
SIGGRAPH ASIA 2011 Preview seminar Shading and Shadows.
Real-Time Reyes: Programmable Pipelines and Research Challenges Anjul Patney University of California, Davis.
Fragment-Parallel Composite and Filter Anjul Patney, Stanley Tzeng, and John D. Owens University of California, Davis.
Real-Time Reyes-Style Adaptive Surface Subdivision
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lectures 18, 19: Monte Carlo Integration Ravi Ramamoorthi Acknowledgements.
Efficient Image-Based Methods for Rendering Soft Shadows
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Anjul Patney University of California, Davis Real-Time Reyes Programmable Pipelines and Research Challenges.
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
© 2004 Tomas Akenine-Möller1 Shadow Generation Hardware Vision day at DTU 2004 Tomas Akenine-Möller Lund University.
The Story So Far The algorithms presented so far exploit: –Sparse sets of images (some data may not be available) –User help with correspondences (time.
COOL Chips IV A High Performance 3D Graphics Rasterizer with Effective Memory Structure Woo-Chan Park, Kil-Whan Lee*, Seung-Gi Lee, Moon-Hee Choi, Won-Jong.
Computer Graphics Shadows
1 A Hierarchical Shadow Volume Algorithm Timo Aila 1,2 Tomas Akenine-Möller 3 1 Helsinki University of Technology 2 Hybrid Graphics 3 Lund University.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Computer Graphics Mirror and Shadows
Ansh Bahri Sandeep Thippeswamy Sohil Himanish Anuja Chandorkar
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Beyond Programmable Shading Course, ACM SIGGRAPH 20111/43.
Realtime Caustics using Distributed Photon Mapping Johannes Günther Ingo Wald * Philipp Slusallek Computer Graphics Group Saarland University ( * now at.
Rendering hair with graphics hardware Tae-Yong Kim Rhythm & Hues Studios
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
Computer Graphics 2 Lecture 8: Visibility Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
Penumbra Deep Shadow Maps Jean-Francois St-Amour, LIGUM – Université de Montreal Eric Paquette, LESIA - ETS Pierre Poulin, LIGUM – Université de Montreal.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Tiger Woods 2008: Advancements in Environments Peter Arisman Technical Art Director Tiger Woods 2008.
Multi-pass Rendering. © 2002 James K. Hahn, N.H. Baek2 Multi-pass Rendering Repeat: image  Rendering pass  result imageRepeat: image  Rendering pass.
Improving k-buffer methods via Occupancy Maps Andreas A. Vasilakis and Georgios Papaioannou Dept. of Informatics, Athens University of Economics & Business,
Rendering Fake Soft Shadows with Smoothies Eric Chan Massachusetts Institute of Technology.
Framebuffer Compression Using Dynamic Color Palettes (DCP) Ayub A. Gubran Tor M. Aamodt.
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Implementation II.
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
Stencil Routed A-Buffer
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
Single Pass Point Rendering and Transparent Shading Paper by Yanci Zhang and Renato Pajarola Presentation by Harmen de Weerd and Hedde Bosman.
Adaptive Volumetric Shadow Maps Marco Salvi, Kiril Vidimce, Andrew Lauritzen, Aaron Lefohn Intel Corporation 7/28/20101 Advances in Real-Time Rendering.
Computer Graphics I, Fall 2010 Implementation II.
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Global Illumination (3) Path Tracing. Overview Light Transport Notation Path Tracing Photon Mapping.
David Luebke 3/17/2016 Advanced Computer Graphics Antialiasing David Luebke
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
Computer Graphics Implementation II
Real-Time Soft Shadows with Adaptive Light Source Sampling
Deferred Lighting.
Hybrid Ray Tracing of Massive Models
Implementation II Ed Angel Professor Emeritus of Computer Science
UMBC Graphics for Games
(c) 2002 University of Wisconsin
Accelerating k+-buffer using efficient fragment culling
Introduction to Computer Graphics with WebGL
RADEON™ 9700 Architecture and 3D Performance
Implementation II Ed Angel Professor Emeritus of Computer Science
Presentation transcript:

Beyond Programmable Shading Course, ACM SIGGRAPH 20111/66

Beyond Programmable Shading Course, ACM SIGGRAPH 20112/66 Road to Real-Time Order-Independent Transparency Marco Salvi

Beyond Programmable Shading Course, ACM SIGGRAPH 20113/66 Motivation Compositing Equation – Recursive Solvers – Visibility Based Solvers State of the Art and Future Work Q&A Talk Outline

Beyond Programmable Shading Course, ACM SIGGRAPH 20114/66 “Reliance on a single program for rendering an entire scene is a poor strategy..” “Separating the image into elements which can be independently rendered saves enormous time..” Why Compositing? “ Compositing Digital 1984 Thomas Porter & Tom Duff

Beyond Programmable Shading Course, ACM SIGGRAPH 20115/66 Motivation “Order- dependent transparency has always been a big limitation for content creators & developers – Restrictive art pipeline: no glass houses – Even windows on cars & buildings can be painful – Restrictive interaction between objects” “Order- independent transparency is must going forward – Big challenge! Gradual process” “ Five Major Challenges in Interactive 2010 Johan Andersson – DICE/EA

Beyond Programmable Shading Course, ACM SIGGRAPH 20116/66 Motivation Alpha-Blending Model courtesy of Cem Yuksel.

Beyond Programmable Shading Course, ACM SIGGRAPH 20117/66 Motivation Alpha-Blending Model courtesy of Cem Yuksel. Order-Independent Transparency

Beyond Programmable Shading Course, ACM SIGGRAPH 20118/66 Motivation

Beyond Programmable Shading Course, ACM SIGGRAPH 20119/66 Motivation

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Motivation

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Motivation Scene courtesy of Valve Corporation. Order-Independent Transparency Alpha-Test

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Motivation Order-Independent Transparency Alpha-Test Scene courtesy of Valve Corporation.

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Compositing Equation pixel color =

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Compositing Equation pixel color = …

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Ideal Real-Time OIT Method High image quality – Accurately evaluate compositing equation – No major spatial and temporal artifacts High and stable performance – Low variability. Performance mostly independent from fragments ordering Bounded memory usage – No variable length data structures

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Solve compositing equation recursively – Composite fragment with result of previous composite operation Solve compositing equation by computing and evaluating (compressed) visibility functions OIT Algorithms Classification

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Alpha Blending / Compositing Depth Peeling A-buffer Z³ algorithm Recursive Solvers

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Alpha Compositing [Porter and Duff 1984]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Alpha Compositing [Porter and Duff 1984]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Alpha Compositing [Porter and Duff 1984]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Alpha Compositing [Porter and Duff 1984]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Alpha Compositing [Porter and Duff 1984]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Alpha Compositing [Porter and Duff 1984] Fast and stable/predictable performance No additional storage required But order- dependent..

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Peel layers and composite in depth- sorted order Number of passes proportional to max image depth complexity Depth Peeling [Everitt 2001][Liu et al. 2009] EVERITT, C Interactive order-independent transparency. Tech. rep.

Beyond Programmable Shading Course, ACM SIGGRAPH /66 1) Render fragments color and depth in per-pixel lists A-buffer [Carpenter 1984] [Yang et al. 2009]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 1) Render fragments color and depth in per-pixel lists 2) Per-pixel sort and composite fragments A-buffer [Carpenter 1984] [Yang et al. 2009]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 1) Render fragments color and depth in per-pixel lists 2) Per-pixel sort and composite fragments A-buffer [Carpenter 1984] [Yang et al. 2009] to the frame buffer

Beyond Programmable Shading Course, ACM SIGGRAPH /66 A-buffer Limitations Poor & unstable performance, tipically memory bandwidth limited Unbounded memory requirements Scene courtesy of Valve Corporation.

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Bounded A-buffer – Up to N fragments per pixel (sorted) Merge fragments to keep pixel memory footprint constant – Distance & coverage based compression metric The Z³ algorithm [Jouppi and Chang 1999] JOUPPI, N. P., AND CHANG, C.-F Z3: an economical hard- ware technique for high-quality antialiasing and transparency.

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Visibility Function Models light absorption Product of step functions (thin blockers)

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Fragment Parallel Compositing Occupancy Maps Opacity Shadow Methods Stochastic Transparency Adaptive Transparency Visibility Based Solvers

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Compute visibility via parallel segmented scan – Load-balance across irregular number of fragments per pixel Evaluate compositing equation via parallel reduction Frag. Parallel Compositing [Patney et al. 2010] pixel color = …

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Assume all transp. geom. has the same alpha – Not applicable to many objects (smoke, foliage, etc.) Bit-field represents step functions of same height and spaced at regular depth – A slab map allows to re-modulate steps height on a given depth region Use visibility representation for OIT & shadows Occupancy Maps [Sintorn et al. 2009]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Replace visibility with opacity: – Less well-behaved function (no monotonicity, no [0,1] bounds) Basis function – Piece-wise constant intervals: Opacity Shadow Maps [Kim et al. 2001] Warp OSMs first layer: Deep Opacity Shadow Maps [Yuksel et al. 2008] – Trigonometric: Fourier Opacity Mapping [Jansen et al. 2010] Opacity Mapping Methods

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Fixed length visibility representation – Regular steps at irregular locations – A2C & z-test on MSAA samples Compression by removing random step Efficient use GPU fixed function HW Fast but “noisy” with complex objs – Can require many samples per-pixel Stochastic Transparency [Enderton et al. 2010] ENDERTON, E., SINTORN, E., SHIRLEY, P., AND LUEBKE, D Stochastic transparency.

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Derived from volumetric shadow method [Salvi et al. 2010] – Optimized for thin objs and OIT Store up to N steps per pixel – Arbitrary location and height – Area based compression metric Adaptive Transparency [Salvi et al. 2011] Salvi M., Montgomery J., Lefohn A Adaptive Transparency

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 To compress visibility AT removes the node that generates the smallest area variation smallest area variation Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Adaptive Transparency [Salvi et al. 2011] FOREST scene 8 ms MFragment Max fragment per pixel: 45 7x faster than A-buffer 2x faster than Stoc. Transp. SMOKE scene 21 ms MFragment Max fragment per pixel: x faster than A-buffer 2.5x faster than Stoc. Transp. HAIR scene 48 ms MFragment Max fragment per pixel: x faster than A-buffer 2x faster than Stoc. Transp. Scene courtesy of Valve Corporation. Model courtesy of Cem Yuksel. Scene courtesy of Valve Corporation.

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Higher quality than other “lossy” OIT methods – Works on any transparent object type (foliage, smoke, glass, etc.) Designed to run in fixed memory – Prototype uses variable memory data struct due to 3D APIs limitations High and scalable performance – Easy to trade-off IQ for performance and storage by tuning per-pixel step/node count Adaptive Transparency [Salvi et al. 2011]

Beyond Programmable Shading Course, ACM SIGGRAPH /66 AT & ST are good examples of new algorithms close to ideal OIT method for real-time apps – ST main limitation is noise / lower quality per vis. rep. storage – AT main limitation is current variable memory implementation We are rapidly converging towards entirely practical and robust OIT methods for real-time rendering! What’s Next?

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Deferred shading and OIT methods – Many methods are trivial to extend to DSers.. –..but awfully inefficient.. Some interesting work left to do in this area Open Problems

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Acknowledgements Special thanks to Jefferson Montgomery and Aaron Lefohn Craig Kolb, Matt Pharr, Charles Lingle and Elliot Garbus for supporting this work. Jason Mitchell and Wade Schinn at Valve Software for the assets from Left- for-Dead-2 Cem Yuksel (Cornell University) for the hair model

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Q&A “Adaptive Transparency” pre-print: “Adaptive Transparency” source code: blog:

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Backup

Beyond Programmable Shading Course, ACM SIGGRAPH /66BibliographyBibliography PORTER, T., AND DUFF, T “Compositing digital images.” SIGGRAPH Comput. Graph. 18, 3, 253– 259. CARPENTER, L “The A -buffer, an antialiased hidden surface method.” SIGGRAPH Comput. Graph. 18, 3, 103–108. SINTORN, E., AND ASSARSON, U “Hair self shadowing and transparency depth ordering using occupancy maps.” In I3D ’09: Proceedings of the 2009 Symposium on Interactive 3D Graphics and Games, 67–74 PATNEY, A., TZENG, S., AND OWENS, J. D “Fragment parallel composite and filter.” Computer Graphics Forum (Proceedings of EGSR 2010) 29, 4 (June), 1251–1258. YANG, J., HENSLEY, J., GR¨U 547 N, H., AND THIBIEROZ, N “Real-time concurrent linked list construction on the gpu.” Computer Graphics Forum (Proceedings of EGSR 2010) 29, 4 (June), SALVI, M., VIDIMCE, K., LAURITZEN, A., AND LEFOHN, A “Adaptive volumetric shadow maps.” Computer Graphics Forum (Proceedings of EGSR 2010) 29, 4 (June), 1289–1296.

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Idea: Save bandwidth by working with an approximate visibility function 200+ steps

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Idea: Save bandwidth by working with an approximate visibility function 200+ steps

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Idea: Save bandwidth by working with an approximate visibility function 32 steps 200+ steps

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Idea: Save bandwidth by working with an approximate visibility function 32 steps 200+ steps

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Idea: Save bandwidth by working with an approximate visibility function 32 steps 200+ steps

Beyond Programmable Shading Course, ACM SIGGRAPH /66 AT GPU Implementation Store visibility in the frame buffer? – Data update cannot be mapped to DX11 blend modes – No RMW operations on the frame buffer Store visibility in a Read/Write buffer (UAV)? – Cause data races

Beyond Programmable Shading Course, ACM SIGGRAPH /66 AT Proof-of-Concept Implementation 1) Render transparent fragments to per-pixel lists – Same as A-buffer implementation 2) For each pixel: build an approximate visibility function and use it to composite all transparent fragments – Full-screen pass guarantees atomicity

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Bandwidth Requirements

Beyond Programmable Shading Course, ACM SIGGRAPH /66 AT Future Work Investigate bounded memory implementations – Per-pixel locks? New frame-buffer format? Better visibility data compression – Reduce MSAA impact on memory requirements

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Scene courtesy of Valve Corporation.

Beyond Programmable Shading Course, ACM SIGGRAPH /66 Capture fragments in FIFO – Enable efficient multi-pass shading Require global sort – A-buffer requires local sort FIFO can overflow – Similar to A-buffer F-Buffer [Mark and Proudfoot 2001] MARK, W. R., AND PROUDFOOT, K The F-buffer: A rasterization-order FIFO buffer for multi-pass rendering