Screen Space Ambient Occlusion. Daniel Kvarfordt & Benjamin Lillandt

Similar documents
Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time

CS354R: Computer Game Technology

Ambient Occlusion. Ambient Occlusion (AO) "shadowing of ambient light "darkening of the ambient shading contribution

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Horizon-Based Ambient Occlusion using Compute Shaders. Louis Bavoil

Advanced Ambient Occlusion Methods for Modern Games

EECS 487: Interactive Computer Graphics

Shading, lighting, & BRDF Theory. Cliff Lindsay, PHD

VAO++: Practical Volumetric Ambient Occlusion for Games

Ambien Occlusion. Lighting: Ambient Light Sources. Lighting: Ambient Light Sources. Summary

Shadows. COMP 575/770 Spring 2013

After the release of Maxwell in September last year, a number of press articles appeared that describe VXGI simply as a technology to improve

TSBK03 Screen-Space Ambient Occlusion

Volume-based Ambient Occlusion with Voxel Fragmentation

Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University

Modern Methods of Realistic Lighting in Real Time

Efficient Screen-Space Approach to High-Quality Multi-Scale Ambient Occlusion

Global Illumination. COMP 575/770 Spring 2013

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment

Global Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

Render all data necessary into textures Process textures to calculate final image

Topics and things to know about them:

Advanced Computer Graphics CS 563: Making Imperfect Shadow Maps View Adaptive. Frederik Clinck lie

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Advanced Graphics. Global Illumination. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February

03 RENDERING PART TWO

LIGHTING - 1. Note. Lights. Ambient occlusion

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming

Voxel Cone Tracing and Sparse Voxel Octree for Real-time Global Illumination. Cyril Crassin NVIDIA Research

Photorealism: Ray Tracing

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Deferred Rendering Due: Wednesday November 15 at 10pm

Ambient Occlusion Pass

Lighting and Shading

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

global light baking software

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

Local vs. Global Illumination & Radiosity

Advanced Post Processing

SCREEN-SPACE FAR-FIELD AMBIENT OCCLUSION. Ville Timonen

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007

Corona Sky Corona Sun Corona Light Create Camera About

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Lecture 18: Primer on Ray Tracing Techniques

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome!

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

GLSL Applications: 2 of 2

Monte Carlo Ray Tracing. Computer Graphics CMU /15-662

COMPUTING SCIENCE. Real-Time Ambient Occlusion on the Playstation3. Dominic Goulding, Richard Smith, Lee Clark, Gary Ushaw and Graham Morgan

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

ART 268 3D Computer Graphics Texture Mapping and Rendering. Texture Mapping

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

CS5620 Intro to Computer Graphics

COSC 448: REAL-TIME INDIRECT ILLUMINATION

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

521493S Computer Graphics. Exercise 3

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models

Module 5: Video Modeling Lecture 28: Illumination model. The Lecture Contains: Diffuse and Specular Reflection. Objectives_template

surface: reflectance transparency, opacity, translucency orientation illumination: location intensity wavelength point-source, diffuse source

Introduction to Visualization and Computer Graphics

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity

Philipp Slusallek Karol Myszkowski. Realistic Image Synthesis SS18 Instant Global Illumination

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Final Project: Real-Time Global Illumination with Radiance Regression Functions

Georgios (George) Papaioannou

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

Homework #2. Shading, Ray Tracing, and Texture Mapping

Photo Studio Optimizer

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

CS Simple Raytracer for students new to Rendering

CPSC GLOBAL ILLUMINATION

Level of Details in Computer Rendering

Computer Graphics Lecture 11

Computer Graphics. Illumination and Shading

CS770/870 Spring 2017 Radiosity

Beyond Programmable Shading Course ACM SIGGRAPH 2010 Bending the Graphics Pipeline

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Interactive Indirect Illumination Using Voxel Cone Tracing

Illumination Models & Shading

Cheap and Dirty Irradiance Volumes for Real-Time Dynamic Scenes. Rune Vendler

Interactive Methods in Scientific Visualization

The Rendering Equation and Path Tracing

V-Ray 2.0 Tutorial. Choosing a view: Digital Media II Fall 2015

SAMPLING AND NOISE. Increasing the number of samples per pixel gives an anti-aliased image which better represents the actual scene.

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

Game Technology. Lecture Physically Based Rendering. Dipl-Inform. Robert Konrad Polona Caserman, M.Sc.

Transcription:

Screen Space Ambient Occlusion Daniel Kvarfordt & Benjamin Lillandt

Ambient light Same from all directions. Lambertian shading doesn't show form well. Need shadows to see form. Global illumination can be used, but is expensive.

Ambient occlusion AO is the amount of ambient light that is stopped from reaching a point. Calculate diffuse shadows from ambient light.

Examples: Cryengine 2

Ambient occlusion Little occlusion - light A lot of occlusion - dark

Irradiance from ambient light without ambient occlusion E(p,n) surface irradiance Omega hemisphere at p LA ambient incoming irradiance Constant value for all points and normals

Irradiance from ambient light with ambient occlusion Visibility v(p,l) is 0 or 1 depending on if the direction l is occluded or not. Little occlusion A lot of occlusion

Ambient occlusion value (factor) Darkening factor ka between 0 (fully occluded) and 1 (fully visible).

Using the ambient occlusion value ka, the ambient irradiance equation becomes simple:

How to compute the occlusion values ka(p) in real time In object space Raycasting against geometry Slow, requires simplifications and/or spatial data structures Depends of scene complexity In screen space Done in a post-rendering pass No pre-processing required Doesn't depend on scene complexity Simple Not physically accurate

Ambient occlusion approximation: limited radius Limit to local occlusion in a hemisphere of radius R. More efficient and works better in enclosed areas such as indoors, that would be fully occluded otherwise. R R

SSAO: Ambient occlusion using the z-buffer Use the readily available depth buffer as an approximation of the scene geometry. Take samples in a sphere around each pixel and test against buffer. view direction depth

SSAO: Ambient occlusion using the z-buffer view direction depth If more than half of the samples are inside, AO is applied, amount depending on ratio of samples that pass and fail depth test. Uses sphere instead of hemisphere, since normal information isn't available.

SSAO: Ambient occlusion using the z-buffer view direction depth Approximation of the scene geometry, some fails are incorrect. The one behind the red line for example. False occlusions. Samples are not weighted by cos(theta), so not physically accurate, but looks convincing.

Occlusion function Occlusion function used to relate to sample depth delta and distance from the central point Negative depth deltas give zero occlusion Small positive depth delta produces high occlusion term Large positive depth delta tend to zero (calculation happens in screen space) Simple exponentials or lookups used Advanced ComputerGraphicsCS 563: Screen SpaceGI Techniques: Real Time WilliamDiSanto

SSAO: False occlusions, halos No SSAO SSAO

SSAO: Full geometry not known SSAO "Real" AO Can be solved by rendering multiple layers of depth, "Depth peeling". Images from "Multi-Layer Dual-Resolution Screen-Space Ambient Occlusion" Louis Bavoil, Miguel Sainz 2009

Choosing samples More samples -> greater accuracy Many samples are needed for a good result, but for performance only about 16 samples are used. Positions from randomized texture to avoid banding. Noisy result, blurred with edge preserving blur.

Horizon based ambient occlusion: HBAO Also done in screen space. Approximates ray-tracing the depth buffer. Requires that the normal is known, and only samples in a hemisphere.

Horizon based ambient occlusion: HBAO Attenuates the contribution for each ray for a more accurate result. (normally based on distance from P to occlusion and angle from normal, I think) V is the visibility function, 0 or 1. W is an attenuation function.

Battlefield 3 - No SSAO

Battlefield 3 - SSAO

Battlefield 3 - HBAO

Battlefield 3 - SSAO

Battlefield 3 - HBAO

Half resolution AO AO is usually low frequency, so SSAO/HBAO is performed at half resolution for significant speedup. Smart blur is done using full resolution z-buffer to avoid edge bleeding.

Half-res SSAO flickering Small high frequency geometry like grass can cause flickering / shimmering due to the half resolution.

Half-res SSAO flickering Solution in Battlefield 3: Temporal filtering AO is dependent only on scene geometry, not camera position. Use AO from last frame. Reproject it to the current view and interpolate between new and old AO.

Other GI approximations in screen space SSDO Screen space directional occlusion Directional shadows Indirect color bleeding (bounces) See "Approximating Dynamic Global Illumination is Screen Space" by Ritschel et al 2009.

Demo

Questions?