SlideShare a Scribd company logo
Multi-Resolution Screen-Space Ambient Occlusion Thai-Duong Hoang Kok-Lim Low National University of Singapore 1
Ambient Occlusion (AO) 𝐩   𝐪   2
AO Cosine-weightedfraction of a tangent hemisphere that is occluded 𝐪i   𝐧   𝜽𝒊   𝒅𝒊   𝐩   𝑑𝑚𝑎𝑥   𝐴𝑂𝐩=1𝜋Ω𝜌𝐩,𝑑𝑖cos𝜃𝑖𝑑𝑤𝑖   𝑑𝑖≥𝑑𝑚𝑎𝑥:𝜌=0𝑑𝑖=0        : 𝜌=1   3
Screen-Space AO (SSAO) 𝐩   Volumetric AO [SKUT10] 4
SSAO(Dis)Advantages Inaccurate Local AO Over/underestimated AO Low quality Noise Blur Simple Fast General Easy to integrate 5
Multi-Resolution AO (MSSAO)Intuition 𝐴𝑂2   𝐴𝑂1   𝐴𝑂3   𝐴𝑂𝑓𝑖𝑛𝑎𝑙=max𝐴𝑂𝑖   6
Multi-Resolution AO (MSSAO)Intuition 256x256 𝐴𝑂256   512x512 𝐴𝑂512   1024x1024 𝐴𝑂1024   𝐴𝑂𝑓𝑖𝑛𝑎𝑙=fmax𝐴𝑂𝑖, average𝐴𝑂𝑖𝐴𝑂𝑓𝑖𝑛𝑎𝑙≥max𝐴𝑂𝑖𝐴𝑂𝑓𝑖𝑛𝑎𝑙∝average𝐴𝑂𝑖   7
MSSAOOverview Geometry g-buffer (1024x1024) Downsample Compute AO (256x256) AO buffer (256x256) g-buffer (256x256) Blur & Upsample g-buffer (512x512) Compute AO (512x512) AO buffer (512x512) Blur & Upsample Compute AO (1024x1024) g-buffer (1024x1024) AO buffer (1024x1024) 8
MSSAOAO from Multiple Resolutions 9
MSSAOOverview Geometry g-buffer (1024x1024) Downsample Compute AO (256x256) AO buffer (256x256) g-buffer (256x256) Blur & Upsample g-buffer (512x512) Compute AO (512x512) AO buffer (512x512) Blur & Upsample Compute AO (1024x1024) g-buffer (1024x1024) AO buffer (1024x1024) 10
MSSAODownsampling 𝐩1𝑧≤𝐩2𝑧≤𝐩3𝑧≤𝐩4𝑧 if𝐩4𝑧−𝐩1𝑧≤𝑑𝑡h𝑟𝑒𝑠h𝑜𝑙𝑑 𝐩←(𝐩2+𝐩3)/2𝐧←(𝐧2+𝐧3)/2 else 𝐩←𝐩2𝐧←𝐧2   𝑝1   𝑝2   𝑝   𝑝3   𝑝4   11
MSSAOOverview Geometry g-buffer (1024x1024) Downsample Compute AO (256x256) AO buffer (256x256) g-buffer (256x256) Blur & Upsample g-buffer (512x512) Compute AO (512x512) AO buffer (512x512) Blur & Upsample Compute AO (1024x1024) g-buffer (1024x1024) AO buffer (1024x1024) 12
MSSAONeighborhood Sampling ,[object Object]
Cap 𝑟𝑖𝑝 to some value 𝑟𝑚𝑎𝑥 (typical value is 5)  1024x1024 16-point Poisson disk 512x512 256x256 Works well with a 3x3 Gaussian filter 13
MSSAOComputing AO Low-variance Cheap Biased 𝐪i   𝐧   𝜽𝒊   𝒅𝒊   𝐩   𝐴𝑂(𝐩)=1𝑁𝑖=1𝑁𝜌(𝐩,𝑑𝑖)(𝐧∙𝐪𝑖−𝐩)  model after the Monte-Carlo approximation of 𝐴𝑂𝐩=1𝜋Ω𝜌𝐩,𝑑𝑖cos𝜃𝑖𝑑𝜔𝑖   14
MSSAOOverview Geometry g-buffer (1024x1024) Downsample Compute AO (256x256) AO buffer (256x256) g-buffer (256x256) Blur & Upsample g-buffer (512x512) Compute AO (512x512) AO buffer (512x512) Blur & Upsample Compute AO (1024x1024) g-buffer (1024x1024) AO buffer (1024x1024) 15
MSSAOBilateral Upsampling Bilinear weights 𝑤𝑏 Depth weights 𝑤𝑧𝑝𝑖=11+𝑧𝑖−𝑧𝑡𝑧 Normal weights 𝑤𝑛𝑝𝑖=𝐧∙𝐧𝑖𝑡𝑛   916   316   316   116   𝐴𝑂𝑝=𝑖=14𝑤𝑏𝑝𝑖𝑤𝑧𝑝𝑖𝑤𝑛𝑝𝑖𝐴𝑂𝑝𝑖   16
MSSAOCombining AO Values 𝐴𝑂𝑓𝑖𝑛𝑎𝑙=1−1−max𝐴𝑂𝑖1−avg𝐴𝑂𝑖 max𝐴𝑂𝑖and avg𝐴𝑂𝑖are computed by “propagating” appropriate values across resolutions Avoid underestimating AO by ensuring𝐴𝑂𝑓𝑖𝑛𝑎𝑙≥max𝐴𝑂𝑖 And a plausible heuristic𝐴𝑂𝑓𝑖𝑛𝑎𝑙∝avg𝐴𝑂𝑖   17
MSSAOTemporal Filtering 𝑘=0.5   𝑘=0   𝐴𝑂𝑐𝑢𝑟𝑟=𝑘 𝐴𝑂𝑝𝑟𝑒𝑣+1−𝑘𝐴𝑂𝑓𝑖𝑛𝑎𝑙   𝑘=0   18
ResultsQuality Blizzard [FM08] MSSAO 19
ResultsQuality HBAO [BSD08] MSSAO 20
ResultsQuality MSSAO VAO [SKUT10] 21
ResultsGround-truth Comparison 22 MSSAO Blender
ResultsNoise/Blur MSSAO HBAO [BSD08] Blizzard [FM08] 23
ResultsMultiple AO Scales Small AO radius MSSAO Large AO radius 24
ResultsPerformance ,[object Object]
Exclusive of geometry pass
The same parameters used to produce the shown images25
MSSAOConclusions Inaccurate Local AO Over/underestimated AO Low quality Noise Blur Use more memory Poor temporal coherence on very thin geometry Not too noticeable Errors due to the use of coarse resolutions Not too noticeable unless compared with ground-truths Simple Fast General Easy to integrate Capture multiple shadow frequencies 26
ResultsAdditional Results 27
ResultsAdditional Results 28

More Related Content

What's hot

SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
Electronic Arts / DICE
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
Electronic Arts / DICE
 
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time RaytracingCEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
Electronic Arts / DICE
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The Surge
Philip Hammer
 
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
Philip Hammer
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Tiago Sousa
 
spherical-harmonic-lighting
spherical-harmonic-lightingspherical-harmonic-lighting
spherical-harmonic-lighting
Kia_xia
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
Electronic Arts / DICE
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
Guerrilla
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
Electronic Arts / DICE
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
Tiago Sousa
 
Paris Master Class 2011 - 07 Dynamic Global Illumination
Paris Master Class 2011 - 07 Dynamic Global IlluminationParis Master Class 2011 - 07 Dynamic Global Illumination
Paris Master Class 2011 - 07 Dynamic Global Illumination
Wolfgang Engel
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
Graham Wihlidal
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Electronic Arts / DICE
 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
Electronic Arts / DICE
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based Rendering
Electronic Arts / DICE
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
Pope Kim
 
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
Precomputed Voxelized-Shadows for Large-scale Scene and Many lightsPrecomputed Voxelized-Shadows for Large-scale Scene and Many lights
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
Seongdae Kim
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
Electronic Arts / DICE
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the Fallen
Benjamin Glatzel
 

What's hot (20)

SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time RaytracingCEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The Surge
 
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
spherical-harmonic-lighting
spherical-harmonic-lightingspherical-harmonic-lighting
spherical-harmonic-lighting
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
 
Paris Master Class 2011 - 07 Dynamic Global Illumination
Paris Master Class 2011 - 07 Dynamic Global IlluminationParis Master Class 2011 - 07 Dynamic Global Illumination
Paris Master Class 2011 - 07 Dynamic Global Illumination
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based Rendering
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
 
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
Precomputed Voxelized-Shadows for Large-scale Scene and Many lightsPrecomputed Voxelized-Shadows for Large-scale Scene and Many lights
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the Fallen
 

Viewers also liked

유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
ozlael ozlael
 
Offscreenparticle
OffscreenparticleOffscreenparticle
Offscreenparticle
ozlael ozlael
 
PresentacióN1 Magda
PresentacióN1 MagdaPresentacióN1 Magda
PresentacióN1 Magdaguest227af1
 
Waartoe leidt Alon Ben Joseph? - FD Career Challenge 2010
Waartoe leidt Alon Ben Joseph? - FD Career Challenge 2010Waartoe leidt Alon Ben Joseph? - FD Career Challenge 2010
Waartoe leidt Alon Ben Joseph? - FD Career Challenge 2010
Alon Ben Joseph
 
Project outline
Project outlineProject outline
Project outlinesantaana1
 
Replicate & Perform
Replicate & PerformReplicate & Perform
Replicate & PerformJKNandi
 
Nano
NanoNano
Start Game 2 !!!
Start Game 2 !!!Start Game 2 !!!
Start Game 2 !!!
guest6c9ee24
 
Dome Ir Catalouge
Dome Ir CatalougeDome Ir Catalouge
Dome Ir Catalouge
sparshamit
 

Viewers also liked (20)

유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
 
ttttt
tttttttttt
ttttt
 
Protean User Guide
Protean User GuideProtean User Guide
Protean User Guide
 
qweqe
qweqeqweqe
qweqe
 
Offscreenparticle
OffscreenparticleOffscreenparticle
Offscreenparticle
 
PresentacióN1 Magda
PresentacióN1 MagdaPresentacióN1 Magda
PresentacióN1 Magda
 
3
33
3
 
Waartoe leidt Alon Ben Joseph? - FD Career Challenge 2010
Waartoe leidt Alon Ben Joseph? - FD Career Challenge 2010Waartoe leidt Alon Ben Joseph? - FD Career Challenge 2010
Waartoe leidt Alon Ben Joseph? - FD Career Challenge 2010
 
Project outline
Project outlineProject outline
Project outline
 
Titua
TituaTitua
Titua
 
Replicate & Perform
Replicate & PerformReplicate & Perform
Replicate & Perform
 
ttt
tttttt
ttt
 
Mi Slideshare
Mi SlideshareMi Slideshare
Mi Slideshare
 
Ha
HaHa
Ha
 
dfgdf
dfgdfdfgdf
dfgdf
 
Registration
RegistrationRegistration
Registration
 
Nano
NanoNano
Nano
 
Start Game 2 !!!
Start Game 2 !!!Start Game 2 !!!
Start Game 2 !!!
 
Dome Ir Catalouge
Dome Ir CatalougeDome Ir Catalouge
Dome Ir Catalouge
 
I pv6
I pv6I pv6
I pv6
 

Similar to mssao presentation

Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015
Soma Boubou
 
Compressed learning for time series classification
Compressed learning for time series classificationCompressed learning for time series classification
Compressed learning for time series classification
學翰 施
 
June 2, 2014
June 2, 2014June 2, 2014
June 2, 2014khyps13
 
Learning to Sample
Learning to SampleLearning to Sample
Learning to Sample
Pooyan Jamshidi
 
One way slab design by Sabuj Chowdhury, Lecturer, Department of CIvil Enginee...
One way slab design by Sabuj Chowdhury, Lecturer, Department of CIvil Enginee...One way slab design by Sabuj Chowdhury, Lecturer, Department of CIvil Enginee...
One way slab design by Sabuj Chowdhury, Lecturer, Department of CIvil Enginee...
Md Rizwanul Islam Riaj
 
A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn...
 A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn... A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn...
A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn...
Pooyan Jamshidi
 
Transformer xl
Transformer xlTransformer xl
Transformer xl
San Kim
 
Slope project daniel
Slope project danielSlope project daniel
Slope project daniel
Daniel Jalili
 
Restricting the Flow: Information Bottlenecks for Attribution
Restricting the Flow: Information Bottlenecks for AttributionRestricting the Flow: Information Bottlenecks for Attribution
Restricting the Flow: Information Bottlenecks for Attribution
taeseon ryu
 
[Vldb 2013] skyline operator on anti correlated distributions
[Vldb 2013] skyline operator on anti correlated distributions[Vldb 2013] skyline operator on anti correlated distributions
[Vldb 2013] skyline operator on anti correlated distributions
WooSung Choi
 
Decision Forests and discriminant analysis
Decision Forests and discriminant analysisDecision Forests and discriminant analysis
Decision Forests and discriminant analysis
potaters
 
CSI ETABS & SAFE MANUAL: Slab Analysis and Design to EC2
CSI ETABS & SAFE MANUAL: Slab Analysis and Design to EC2CSI ETABS & SAFE MANUAL: Slab Analysis and Design to EC2
CSI ETABS & SAFE MANUAL: Slab Analysis and Design to EC2
Eur Ing Valentinos Neophytou BEng (Hons), MSc, CEng MICE
 
Introduction To Massive Model Visualization
Introduction To Massive Model VisualizationIntroduction To Massive Model Visualization
Introduction To Massive Model Visualizationpjcozzi
 

Similar to mssao presentation (14)

Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015
 
Compressed learning for time series classification
Compressed learning for time series classificationCompressed learning for time series classification
Compressed learning for time series classification
 
June 2, 2014
June 2, 2014June 2, 2014
June 2, 2014
 
Icra 17
Icra 17Icra 17
Icra 17
 
Learning to Sample
Learning to SampleLearning to Sample
Learning to Sample
 
One way slab design by Sabuj Chowdhury, Lecturer, Department of CIvil Enginee...
One way slab design by Sabuj Chowdhury, Lecturer, Department of CIvil Enginee...One way slab design by Sabuj Chowdhury, Lecturer, Department of CIvil Enginee...
One way slab design by Sabuj Chowdhury, Lecturer, Department of CIvil Enginee...
 
A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn...
 A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn... A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn...
A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn...
 
Transformer xl
Transformer xlTransformer xl
Transformer xl
 
Slope project daniel
Slope project danielSlope project daniel
Slope project daniel
 
Restricting the Flow: Information Bottlenecks for Attribution
Restricting the Flow: Information Bottlenecks for AttributionRestricting the Flow: Information Bottlenecks for Attribution
Restricting the Flow: Information Bottlenecks for Attribution
 
[Vldb 2013] skyline operator on anti correlated distributions
[Vldb 2013] skyline operator on anti correlated distributions[Vldb 2013] skyline operator on anti correlated distributions
[Vldb 2013] skyline operator on anti correlated distributions
 
Decision Forests and discriminant analysis
Decision Forests and discriminant analysisDecision Forests and discriminant analysis
Decision Forests and discriminant analysis
 
CSI ETABS & SAFE MANUAL: Slab Analysis and Design to EC2
CSI ETABS & SAFE MANUAL: Slab Analysis and Design to EC2CSI ETABS & SAFE MANUAL: Slab Analysis and Design to EC2
CSI ETABS & SAFE MANUAL: Slab Analysis and Design to EC2
 
Introduction To Massive Model Visualization
Introduction To Massive Model VisualizationIntroduction To Massive Model Visualization
Introduction To Massive Model Visualization
 

More from ozlael ozlael

Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)
ozlael ozlael
 
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
ozlael ozlael
 
Optimizing mobile applications - Ian Dundore, Mark Harkness
Optimizing mobile applications - Ian Dundore, Mark HarknessOptimizing mobile applications - Ian Dundore, Mark Harkness
Optimizing mobile applications - Ian Dundore, Mark Harkness
ozlael ozlael
 
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
ozlael ozlael
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
ozlael ozlael
 
Infinity Blade and beyond
Infinity Blade and beyondInfinity Blade and beyond
Infinity Blade and beyond
ozlael ozlael
 
스티브잡스처럼 프레젠테이션하기
스티브잡스처럼 프레젠테이션하기스티브잡스처럼 프레젠테이션하기
스티브잡스처럼 프레젠테이션하기
ozlael ozlael
 
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
ozlael ozlael
 
Introduce coco2dx with cookingstar
Introduce coco2dx with cookingstarIntroduce coco2dx with cookingstar
Introduce coco2dx with cookingstarozlael ozlael
 
Deferred rendering case study
Deferred rendering case studyDeferred rendering case study
Deferred rendering case studyozlael ozlael
 
Kgc make stereo game on pc
Kgc make stereo game on pcKgc make stereo game on pc
Kgc make stereo game on pcozlael ozlael
 
Modern gpu optimize blog
Modern gpu optimize blogModern gpu optimize blog
Modern gpu optimize blog
ozlael ozlael
 
Modern gpu optimize
Modern gpu optimizeModern gpu optimize
Modern gpu optimize
ozlael ozlael
 
Bickerstaff benson making3d games on the playstation3
Bickerstaff benson making3d games on the playstation3Bickerstaff benson making3d games on the playstation3
Bickerstaff benson making3d games on the playstation3
ozlael ozlael
 
DOF Depth of Field
DOF Depth of FieldDOF Depth of Field
DOF Depth of Field
ozlael ozlael
 
Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)
Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)
Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)
ozlael ozlael
 
Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]
ozlael ozlael
 
Deferred shading
Deferred shadingDeferred shading
Deferred shading
ozlael ozlael
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2ozlael ozlael
 

More from ozlael ozlael (20)

Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)
 
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
 
Optimizing mobile applications - Ian Dundore, Mark Harkness
Optimizing mobile applications - Ian Dundore, Mark HarknessOptimizing mobile applications - Ian Dundore, Mark Harkness
Optimizing mobile applications - Ian Dundore, Mark Harkness
 
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
 
Infinity Blade and beyond
Infinity Blade and beyondInfinity Blade and beyond
Infinity Blade and beyond
 
스티브잡스처럼 프레젠테이션하기
스티브잡스처럼 프레젠테이션하기스티브잡스처럼 프레젠테이션하기
스티브잡스처럼 프레젠테이션하기
 
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
 
Introduce coco2dx with cookingstar
Introduce coco2dx with cookingstarIntroduce coco2dx with cookingstar
Introduce coco2dx with cookingstar
 
Deferred rendering case study
Deferred rendering case studyDeferred rendering case study
Deferred rendering case study
 
Kgc make stereo game on pc
Kgc make stereo game on pcKgc make stereo game on pc
Kgc make stereo game on pc
 
Modern gpu optimize blog
Modern gpu optimize blogModern gpu optimize blog
Modern gpu optimize blog
 
Modern gpu optimize
Modern gpu optimizeModern gpu optimize
Modern gpu optimize
 
Bickerstaff benson making3d games on the playstation3
Bickerstaff benson making3d games on the playstation3Bickerstaff benson making3d games on the playstation3
Bickerstaff benson making3d games on the playstation3
 
DOF Depth of Field
DOF Depth of FieldDOF Depth of Field
DOF Depth of Field
 
Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)
Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)
Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)
 
Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]
 
Deferred shading
Deferred shadingDeferred shading
Deferred shading
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 
Ssao
SsaoSsao
Ssao
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

mssao presentation

Editor's Notes

  1. AO is the lighting phenomenon under the direct illumination of a diffuse, uniform, spherical light source surrounding the scene, which is this yellow ring in this figure.Under such a lighting condition, less exposed areas such as the point q here will receives less light, and becomes darker than more exposed areas such as point p.Note that AO is not a real-world phenomenon, since we are assuming the light is uniform in every direction, which is rarely true in the real world.Nevertheless, it can make a scene look more realistic, that’s why it is widely adapted in, for example, CG movies.
  2. Formally, for each point p, AO is define by this integral over a hemisphere above p.Intuitively, it can be understood as the cosine-weighted fraction of the tangent hemisphere that is occluded.It is important to note that we only look for occluders inside a certain hemisphere that has a certain radius d_max.Because otherwise, AO does not work for enclosed environment such as this room, everything inside it will be totally dark.Now it is natural to evaluate AO using Monte Carlo ray casting.But do we really need to do that all the time if the only thing we want is to darken some creases or holes?
  3. It turns out there is a much more efficient approach to approximate AO that only uses information available in screen-space, namely per-pixel depths and normals.As an example, for this point p here, we can generate a few samples inside a hemisphere above it and project the samples back to the eye.If a sample’s depth is larger than the depth value store in the depth buffer, the sample is considered an occluder that block lights from p.This is efficient because sampling is much faster than ray casting.But this approach also is inaccurate, for example, as you can see, some samples can be identified as occluder, yet do not block light from reaching p in that direction.
  4. It turns out SSAO has other disadvantages as well.On the other hand, it has a number of important benefits.That’s why it’s useful in applications that care less about accuracy, but more about performance, such as games.We want to overcome some of these limitations, particularly the local AO, noise, and blur problems.
  5. Our algorithm is based on this intuition:The hemisphere above p can be partition into several sub-hemispheres, smaller ones contained in bigger ones.For each hemisphere, we compute AO caused by occluders inside that hemisphere.The final AO value is naturally the maximum of all the partial AO values computed for all the hemispheres.
  6. Anotherobservation is that occlusion caused by distant occluders is often low-frequency, and can be computed at coarser resolutions to save computation time.So we correspond each hemisphere to a resolution, the bigger the hemisphere, the coarser the resolution.Now the problem is AO computed at coarser resolutions may miss occlusion caused by nearby occluders, so the final AO is no longer the maximum value, but larger than it.We use a heuristic to compensate for this, as we modulate the maximum value by the average AO value across all resolutions.So the final AO is a function of these two values, and we must design f so that the final AO value is always larger or equal to the maximum value, and proportional to the average value.
  7. Our algorithm works like this:First we render the scene at the finest resolution to a g-buffer which contains per-pixel eye-space coordinates and normals, then downsample multiple times to get low-resolution g-buffers.Then we start from the coarsest g-buffer, compute AO for all pixels at that resolution and store the results in an AO buffer.The AO buffer is then blurred and upsampled, and the result is put through the next rendering pass, where we compute AO for the next finer resolution and combine that with the upsampled results, output another AO buffer, which is agained blurred and upsampled, and the result is used as input to the next rendering pass, where we compute AO at a finer resolution, and so on, until the we reach the final resolution.At this point, we output the highest-resolution AO buffer as the final result.
  8. Here is an example of combining AO values from different resolutions.In this example we use 5 levels of resolution. Each resolution captures a different AO frequencies, and they are all finally combined together to produce the image in the lower right.
  9. Nowlet’s get to the details.First we’re gonna look at the downsampling pass.
  10. For each low-resolution pixel p, we look for the four nearest pixels to p at the finer resolution, p_1 to p_4, and sort them according to their liner z values.Then we take the eye-space coordinates of the two “middle” pixels and average them to get the eye-space coordinates of p.This is similar to taking the median “values” of the four pixels.Now taking the median does not always make sense if the four pixels are very different in depth.In fact it creates artifacts where geometry beyond the AO radius of influence can occlude a point, since by taking the median, we are in effects changing the relative distance between surfaces.So we check if the maximum depth difference among four pixels are large enough, we choose to keep the eye-space coordinates of just one of the four pixels.Now the reason we do not do this all the time is that the median method does help reducing self-occlusion artifacts and also provides better temporal coherence.You may haved noticed that the normals are treated in the same way as the eye-space coordinates.The reason we do not normalize the sum, instead divide it by 2, which may not make sense, is that it is not necessary to normalize the normals.In fact we have found that dividing it by 2 gives better looking results and also less over-occlusion artifacts.
  11. Now let’s move on to the computing AO part.
  12. Firstly we will look at how samples are taken in screen space.First, for each pixel p at some particular resolution Res_i, we project the AO radius of influence to screen space to get a “ring” of radius r_i(p) around p. Now remember we do not want to sample in this whole ring, but usually a smaller ones, corresponding to some inner hemispheres, so we cap the screen-space sampling radius to some value, typically 5, and sample a 11x11 region in screen-space.We have found that for coarser resolutions, using the sampling scheme on the left gives best results without degrading performance.It also works well for a 3x3 Gaussian blur which is applied later.For pixels at the finest resolution, we don’t want to use the sampling scheme on the left because there is no blur pass at the final resolution, so we use a 16-point poisson disk pattern instead.Notice we do not jitter this pattern but use the same pattern for every pixel.It produces some aliasing but not too noticeable given the small kernel size.
  13. Now that we have collected, let’s say N samples, we put them through the first formula to compute the AO caused by these N samples.This formula is modeled after the Monte-Carlo approximation of the original formula for AO.You can see the correspondence highlighted by the colors.The nice thing about our formula is that it gives low-variance results, in the sense that nearby pixels have quite similar AO values.One of the reasons is that our samples are distributed in two dimensions instead of 3, we do not distribute samples in the direction dimension like some other methods.We pick samples directly from screen space, the use texture lookup to fetch their 3D-coordinates and normals, and plug the values right into the formula.it is also cheap to compute, requiring only a dot product operation for each sample.The falloff function rho is just a simple quadratic one in terms of the distance d_i.But sampling and computing AO this way is certainly biased, with regards to true AO, because neighboring pixels in screen-space often do not correspond to uniform directions in object-space.The results is that the shape and intensities of the shadows look incorrect comparing to ground truths.This is a common problem in SSAO not just our method.
  14. Next we turn to the blurring and upsamplingpass.
  15. Let me talk about the upsamplingmethod first.We use a typical bilateral upsamplinghere.For each high-resolution pixel p, we weight and blend the AO values from its 4 nearest low-resolution pixels p_1 to p_4.The weight for each pixel is a product of 3 weights, w_zis the weight due to depth differences, w_nis the weight due to normal differences, and w_bis a bilinear weight due to differences in screen-space coordinates.Using bilateral upsampling prevents occlusion to leak through large depth and normal differences and at the same time smoothly blends the AO values from the four low-res pixels, which prevents the results from getting blocky artifacts.The blur which is done before we upsample is very similar, it is a bilateral filter which uses a very small 3x3 kernels and a Gaussian weight instead of a bilinear one.
  16. Now we talk about how the AO values are combined together.At the finest resolution ,we use this formula to compute the final AO value for each pixel.The maximum and average AO values are obtained by propagating certain values up from coarser resolutions and I’m not going to get into the details here, which is pretty hairy.Notice that the formula we use here satisfies both conditions we set in the beginning.
  17. Finally, we employ a temporal filter to reduce the shimmering or flickering effects due to the use of multiple resolutions.For each pixel in screen-space, we project it back to object space, undo whatever transformation from the previous frame, and project it to last frame’s screen-space.We then fetch an AO value from last frame at that screen-space coordinates and assign a weight to it, if the pixel was occluded or outside of the screen in the last frame, the weight is 0, otherwise it is 0.5Then we linearly blend the previous-frame AO value with the AO computed in the previous slide, to obtain the AO value for the current frame.
  18. Sowe can look at some results, on the left is the method by Blizzard Entertainment which is noisy, on the right is ours.Note that the computation time is roughly the same, more on that later.
  19. Here we compare our result with Horizon-based AO by NVIDIA.Their result is quite blurry.Our image looks sharper since we do not blur at the final resolution.
  20. Here is another comparison, with a method called Volumetric AO,which is more recent than the other two.Again, our result looks nicer.
  21. Here we compare our result with ray-traced result using Blender.There are over occlusion here and there, but since accuracy is not our main concern, it is not much of a problem.
  22. Here is a closer look to show that our result is free of both noise and blur and preserves high frequency details better than other methods.
  23. Here is another advantage of our method.In existing SSAO methods, when the AO radius of influence is large, small details are lost.Our method pick up multiple AO scales in different frequencies and retain them in the final image.
  24. Here we compare the computation time among methods.Theparameters for each method are the same as those used to produced the previously shown comparison images.These three scenes are those that are shown in previous slides as well.As you can see, our method is the fastest in all three scenes, due to the fact that our sampling kernel in each resolution is small and we do not need to filter the final result, which is a relatively costly operation.
  25. In conclusion, I believe we have overcome some quality limitations of SSAO while retaining all the positives.Our methods have a few drawbacks as well.First it uses more memory than the others.Secondly, for certain kinds of small and thin geometry such as leaves or chair legs, some flickering artifacts can be seen when the camera moves, but since the objects are small anyway, this is not too noticeable.Finally, the use of multiple resolutions introduce some errors in certain cases, but again, utmost accuracy is not our aim here, so that’s not a really a problem.