Separable Approximation of

Slides:



Advertisements
Similar presentations
Exploration of advanced lighting and shading techniques
Advertisements

Ray Tracing Depth Maps Using Precomputed Edge Tables Kevin Egan Rhythm & Hues Studios.
Real-time Shading with Filtered Importance Sampling
Parallax-Interpolated Shadow Map Occlusion
Exploration of bump, parallax, relief and displacement mapping
Computer graphics & visualization Global Illumination Effects.
Binary Shading using Geometry and Appearance Bert Buchholz Tamy Boubekeur Doug DeCarlo Marc Alexa Telecom ParisTech – CNRS Rutgers University TU Berlin.
Chunhui Yao 1 Bin Wang 1 Bin Chan 2 Junhai Yong 1 Jean-Claude Paul 3,1 1 Tsinghua University, China 2 The University of Hong Kong, China 3 INRIA, France.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
Photon Mapping. How did I use it 10 years ago? Why might you want to use it tomorrow?
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
SIGGRAPH ASIA 2011 Preview seminar Shading and Shadows.
Scalability with many lights II (row-column sampling, visibity clustering) Miloš Hašan.
I3D Fast Non-Linear Projections using Graphics Hardware Jean-Dominique Gascuel, Nicolas Holzschuch, Gabriel Fournier, Bernard Péroche I3D 2008.
December 5, 2013Computer Vision Lecture 20: Hidden Markov Models/Depth 1 Stereo Vision Due to the limited resolution of images, increasing the baseline.
Paper Presentation - An Efficient GPU-based Approach for Interactive Global Illumination- Rui Wang, Rui Wang, Kun Zhou, Minghao Pan, Hujun Bao Presenter.
Real-Time Rendering Paper Presentation Imperfect Shadow Maps for Efficient Computation of Indirect Illumination T. Ritschel T. Grosch M. H. Kim H.-P. Seidel.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lectures 18, 19: Monte Carlo Integration Ravi Ramamoorthi Acknowledgements.
A Survey of Real-time Soft Shadows Algorithms Speaker: Alvin Date: 2003/7/23 EUROGRAPHICS 2003 J.-M. Hasenfratz, M. Lapierre, N. Holzschuch and F.X. Sillion.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Fast Global-Illumination on Dynamic Height Fields
CIS 681 Distributed Ray Tracing. CIS 681 Anti-Aliasing Graphics as signal processing –Scene description: continuous signal –Sample –digital representation.
Deep Screen Space Oliver Nalbach, Tobias Ritschel, Hans-Peter Seidel.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Shadow No, not the Hank Marvin kind!. Go to: ows.html ows.html.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Voxelized Shadow Volumes Chris Wyman Department of Computer Science University of Iowa High Performance Graphics 2011.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Realtime Caustics using Distributed Photon Mapping Johannes Günther Ingo Wald * Philipp Slusallek Computer Graphics Group Saarland University ( * now at.
Visibility Queries Using Graphics Hardware Presented by Jinzhu Gao.
Jonathan M Chye Technical Supervisor : Mr Matthew Bett 2010.
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer Graphics.
December 4, 2014Computer Vision Lecture 22: Depth 1 Stereo Vision Comparing the similar triangles PMC l and p l LC l, we get: Similarly, for PNC r and.
Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel
03/24/03© 2003 University of Wisconsin Last Time Image Based Rendering from Sparse Data.
1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3.
SIGGRAPH 2011 ASIA Preview Seminar Rendering: Accuracy and Efficiency Shinichi Yamashita Triaxis Co.,Ltd.
Image-Based Rendering of Diffuse, Specular and Glossy Surfaces from a Single Image Samuel Boivin and André Gagalowicz MIRAGES Project.
Efficient Methods for Ambient Lighting Tamás Umenhoffer Balázs Tóth László Szirmay-Kalos.
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
Efficient Streaming of 3D Scenes with Complex Geometry and Complex Lighting Romain Pacanowski and M. Raynaud X. Granier P. Reuter C. Schlick P. Poulin.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Differential Instant Radiosity for Mixed Reality Martin Knecht, Christoph Traxler, Oliver Mattausch, Werner Purgathofer, Michael Wimmer Institute of Computer.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Real-Time Depth Buffer Based Ambient Occlusion
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
Pure Path Tracing: the Good and the Bad Path tracing concentrates on important paths only –Those that hit the eye –Those from bright emitters/reflectors.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Yizhou Yu Texture-Mapping Real Scenes from Photographs Yizhou Yu Computer Science Division University of California at Berkeley Yizhou Yu Computer Science.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Thank you for the introduction
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Material Representation K. H. Ko School of Mechatronics Gwangju Institute.
Ambient Occlusion Patrick Cozzi University of Pennsylvania CIS Fall 2013.
Multi-Resolution Screen-Space Ambient Occlusion
Toward Real-Time Global Illumination. Global Illumination == Offline? Ray Tracing and Radiosity are inherently slow. Speedup possible by: –Brute-force:
Toward Real-Time Global Illumination. Project Ideas Distributed ray tracing Extension of the radiosity assignment Translucency (subsurface scattering)
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
Real-Time Soft Shadows with Adaptive Light Source Sampling
3D Graphics Rendering PPT By Ricardo Veguilla.
Hybrid Ray Tracing of Massive Models
Jim X. Chen George Mason University
Incremental Instant Radiosity for Real-Time Indirect Illumination
Real-time Volumetric Lighting in Participating Media
UMBC Graphics for Games
Efficient Importance Sampling Techniques for the Photon Map
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Directional Occlusion with Neural Network
Real-time Global Illumination with precomputed probe
Presentation transcript:

Separable Approximation of Ambient Occlusion Jing Huang1 Tamy Boubekeur1 Tobias Ritschel1,2 Matthias Holländer1 Elmar Eisemann1 1Télécom ParisTech - CNRS/LTCI 2Intel Visual Computing Institute

Ambient Occlusion Ambient Occlusion, or AO, is a popular effect which captures a subset of indirect lighting effect. Here is an example with the AO component only on which already gives a fair perception of the scene’s components. Fast approximation of a subset of indirect lighting effects

Ambient Occlusion Here is another example of AO in an interior scene On the left we show the AO component only; on the right, the direct lighting in OpenGL only. Combining both offers a more realistic result than direct lighting only, while being less expensive than complete global illumination for instance.

Ambient Occlusion AO = shadow created by ambient illumination Ref photo : Guangzhou - Cloudy Day Was first introduced by M. S. Langer & S. W. Zucker («Shape from shading on a cloudy day», 1994) Capturing surface variation using accessibilty shading by Gavin Miller («Efficient Algorithms for Local and Global Accessibility Shading», 1994) What is really AO ? It describes the shadow which is not created by direct lighting, but by a « virtual » diffused surrounding light emitter. This notion was introduced by two papers. One is «  Shape from shading on a cloudy day», they extended the classical shape from shading model, which reconstruct the shape not only from lambertian model, but also from area diffused lighting which is produced in a cloudy day. Later on, accessibility, which can be seen as a form of ambient occlusion, was established using maximum non—intersecting spheres near geometry to model the amount of light that can reach a point from « outside the shape ».

Ambient Occlusion Integral of Visibility all over the hemisphere More formally, ambient occlusion is usually defined as the integral of the visibility function – often restricted to a user-defined distance – over the hemisphere. Intuitively, it measures how much light might potentially be « blocked » by nearby geometry. Note that ambient occlusion is actually independent of the light sources explicitly defined in the scene.

Ambient Occlusion Improving the perception of volume, concavities & contact areas of 3D objects AO in Starcraft II. One of the main effect of ambiant occlusion, besides the « cuteness » it provides, is that volumes, concavities and contact areas are far better perceived using it than with direct lighting only. Offline AO rendered by ray tracing >> prohibitive for real time applications

Evaluation Estimated by ray tracing In offline rendering, AO is evaluated using Monte Carlo integration by ray tracing. Unfortunately, this is often too costly for real time applications. Prohibitive for real time rendering

Screen-Space Ambient Occlusion For Real Time Applications

Screen Space Ambient Occlusion SSAO Main idea: using the depth-buffer as a cheap, randomly accessible substitution for the actual scene’s geometry. Casting AO computation as a local filter in screen space CryEngine [Mittring 2007] Screen-Space estimators have been introduced to cope with real time constraints. The basic idea is to use the Z-Buffer as a substitute to the actual geometry of the scene to sample occlusion locally. The fastest and simplest method for such a process has been introduced by Mittring in the Crysis1 by CryTek. Conceptually, this is a local fitler in screen space which samples 3D points in the vicinity of a pixel and approximate the ammbient occlusion at the pixel with the amount of points which fails under the z-buffer.

Screen Space Ambient Occlusion [Shanmugam and Okan 2007], [McGuire 2010] Another SSAO method has been itroduced by Shanmugam. It decomposes AO into two components: - a local component, responsible for high frequency AO content, and evaluated in screen space using the depth buffer - a distant component, capturing low frequency only, and evaluated using geometry proxies made of bounding spheres and each projected onto its own billboard, and rasterized whole of them. Mr Mcguire’ Ambient Occlusion Volumes use a similar idea, he computes the ao value by replacing billboard with full 3d bounding volume which was created in the first shading pass.

Screen Space Methods Horizon-Based AO [BAVOIL 2008] depends on the elevation angle e The third method we mention here is HBAO which runs entirely in Screen Space Method and has very good results compare to other SSAO method. AO : depends on ElevationAngle (e) e = h + t h : horizon angle t : tangent angle They take random samples directions and step along the directions to get the best Elevation Angle for each direction. The AO is computed by filtering ElevationAngles. Although of higher quality, this method has a larger computational footprint than Crytek SSAO for instance.

Hybrid Ambient Occlusion Finally, hybrid methods such the volumetric approach by Reinbothe, can also perform computation in screen space but starts by performing a 3D rasterization of the scene at each frame to account for potential occluders located outside the field of the view, and therefore not captured by classical, depth-buffer based, SSAO methods. Accounts for «outside the view» occluders [Reinbothe 2009]

Problem Can we go a step further ? Can we work in 1D ? Observation: SSAO already reformulated a 3D raytracing process into a 2D screen space layout Can we work in 1D ? Observation: SSAO looks like a local image filter. Idea: Propose a separable (2x1D) AO approximation instead of a full (2D) evaluation Usual pb is the cost , and 1d sampling could be less expensive than 2d & 3d sampling Reduce the complexity can also improve original method. We also noticed with one stochastic sample per pixel, we can get coarse result. But not good enough. And as some paper mentioned like Phams paper separable bilateral filter for the video compression process, using separable idea can have a good acceleration for whole application.

Separable Approximation of Ambient Occlusion

Separable Gaussian Filter Our work is inspired by the gaussian kernel which can be evaluated in a separable fashion on pictures for instance. This means that 2D computation can safely replaced by 2 1D computations, reducing the complexity from n squared to n.

Separable Gaussian Filter Here is an illustration of the process.

Separable Gaussian Filter

Bilateral Filter With gaussian filter With bilateral filter Original signal Now the bilateral filter allows to better preserve features by combining 2 kernels.

Separable Bilateral Filter Mathematically not separable But convincing separable approximation [Pham 2005] As mentioned in Pham’s paper, using separable bf can speed up the processing, but the same time creats edge jaggedness, they solved this problem later [Pham 2007] by aligning the seperation axis to the image gradients.

Separable AO Separate AO sampling along 2 orthogonal axes in a 2-pass process Evaluation along each axis using any kind of SSAO Occlusion estimation (Crytek, HBAO, etc) Sampling (uniform, random, jittered, etc) Therfore, we propose to speed up SSAO by defining a separable approximation principle. As mentioned for the seperable Gaussion filter, the complexity can be reduced from n² to n. In our case. Although AO is not formally separable, we show that a separable approximation gives convincing results, with almost no visual artifact comparted to full evaluation. The basic idea is to perform 2 AO evaluations at each point, along 2 orthogonal directions. Any SSAO occlusion estimator can be used, combined with any occlusion point sampling, as long as it can be restricted to a single direction in screen space. As illustrated here, the direct combination of both evaluations gives a low quality, rough approximation of AO due to the arbitrary choice of the computation axis. We solve this problem by choosing different separation directions for each pixel using a local frame randomization. Need spatially varying directions for removing directional banding artifacts Solution: Local Frame Randomization

Local Frame Randomization Randomize the orientation of the local frame (axis pair) at each pixel Avoids banding artifacts. That is what we did for local randomization. Shows 3 steps. 3 images : for each pixel, we do AO evaluation along orthogonal axes -> with Axis pattern, we define local per-pixel frames

Distribution Pattern [Pharr 2004] Using different distribution pattern: Random Stratified sampling Regular Jittered Low-discrepancy sampling Halton sequence Hammersley sequence The distribution patterns is a key component for ensuring the quality of final AO buffer. We use the Hammersley sequence which seems to be the best choice in practice. Random Regular Jittered Halton Hammersley

Interleaved Sampling [Keller 2001] Regularly replicated basis pattern Between regular & irregular sampling Integration with Hammersley ? Better Justification ? in the end, we use Feature-preserving filter kernel which correlates with axis pattern to do edge aware boxfilter. And we found the edge aware boxfilter with interleaved sampling can have good combinations, easily to control. With the interleaved sampling, we need just to use the same size for the filter(edge aware). The noise can be easily removed. Regular Pattern Interleaved Pattern

Interleaved Sampling [Keller 2001] «Toasters» One example shows the scene «Toasters», we need look at one part of the scene, « the toaster’s feet»

Interleaved Sampling [Keller 2001] 4 x 4 Boxfilter Results High Frequency Random AO in « Toaster’s feet » 4 x 4 Interleaved The image shows the advantage of interleaved sampling for SSAO, using the same size boxfilter kernel can easily remove the pattern noise which was created by interleaved sampling. With the totally random sampling, it²s difficult to control. Also in the same time, you can save the memory, instead of using a big length random vector for all pixels, you need save the samples only for one pattern. Advantage : easy to filter save memory

Interleaved Sampling [Keller 2001] 4 x 4 Boxfilter Results 4 x 4 Interleaved AO in « Toast’s feet » High Frequency Random The image shows the advantage of interleaved sampling for SSAO, using the same size boxfilter kernel can easily remove the pattern noise which was created by interleaved sampling. With the totally random sampling, it²s difficult to control. Also in the same time, you can save the memory, instead of using a big length random vector for all pixels, you need save the samples only for one pattern. Advantage : easy to filter save the memory

Results

Performance Size Separable Crytek Vol. Obs HBAO [Mit07] [LS10] [BSD08] 5 no 3.2ms 3.5ms 3.6ms yes 3.4ms 11 13.9ms 14.8ms 15.0ms 5.8ms 5.9ms 6.0ms 21 49.7ms 51.9ms 9.9ms 10.2ms As show in this table, with same kernel, separable AO will have good improvement in speed FOR a SIMILAR VISUAL QUALITY. Resolution 1024 x 768 GPU Nvidia GTX 480

Perceptual Error Reference HBAO Separable Perceptual Difference in Lab space. [Yee 2004] We measured the error introduced by our method using a perceptual error metric. Has shown on these tree examples, the error is low, even on direct AO visualization. Note the it gets even lowers when doing full shading. Measured against the exact computation for each technique using [Mittring 2007] [BAVOIL 2008]

Local Frame Randomization As shown here, the choice of 2 random axis is superior to one, even using the same number of occlusion evaluation per-pixel

Video Here are some results we obtained with our approach.

Limitations Inherited from the particular SSAO technique using to evaluate along the 2 axis Missed occluders (outside the frustum) Could be solved by voxelization [Reinbothe 2009] Over occlusion Could be solved by depth peeling [Ritschel 2009]

Conclusion Separable Approximation of Ambient Occlusion Faster than complete evaluation Compatible with all SSAO methods No visible error Same principle can be applied to other screen-space rendering techniques

Acknowledgements ANR Projects « Cecil » and « MEDIAGPU » European Network of Excellence « 3DLife » Help from Telecom ParisTech: Catherine Pelachaud, Bert Buchholz, Jean-Marc Thiery

Thank you for your attention Thanks Merci 谢谢 Danke Obrigado Gracias

Reference [BL99] BÜLTHOFF H. H., LANGER M. S.: Perception of shape from shading on a cloudy day, 1999. [BSD08] BAVOIL L., SAINZ M., DIMITROV R.: Image-space horizon-based ambient occlusion. In ACM SIGGRAPH 2008 Talks (2008), pp. 22:1–22:1. [Bun05] BUNNELL M.: Dynamic ambient occlusion and indirect lighting. GPU Gems 2 (2005), 223–233. [KH01] KELLER A., HEIDRICH W.: Interleaved sampling. In Proc. EGWR ’01 (2001), pp. 269– 276. [McG10] MCGUIRE M.: Ambient occlusion volumes. In Proc. ACM HPG ’10 (June 2010). [Mit07] MITTRING M.: Finding next gen: CryEngine 2. In ACM SIGGRAPH ’07 Courses (2007), pp. 97–121. [PV05] PHAM T. Q., VLIET L. J.: Separable bilateral filtering for fast video preprocessing. In Proc. IEEE Int. Conf. on Multimedia and Expo (2005), pp. 1–4. [RBA09] REINBOTHE C., BOUBEKEUR T., ALEXA M.: Hybrid ambient occlusion. EUROGRAPHICS ’09 Areas Papers (2009). [RGS09] RITSCHEL T., GROSCH T., SEIDEL H.-P.: Approximating dynamic global illumination in image space. In Proc. ACM I3D ’09 (2009), pp. 75–82. [SA07] SHANMUGAM P., ARIKAN O.: Hardware accelerated ambient occlusion techniques on GPUs. In Proc. ACM I3D ’07 (2007), pp. 73–80.