AGGREGATE G-BUFFER ANTI-ALIASING

Similar documents
HIGH-QUALITY RASTERIZATION CHRIS WYMAN SENIOR RESEARCH SCIENTIST, NVIDIA

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013

Deferred Rendering Due: Wednesday November 15 at 10pm

8/5/2012. Introduction. Transparency. Anti-Aliasing. Applications. Conclusions. Introduction

Beyond Programmable Shading Course ACM SIGGRAPH 2010 Bending the Graphics Pipeline

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Lecture 10: Shading Languages. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Shaders. Slide credit to Prof. Zwicker

Rasterization Overview

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

Efficient and Scalable Shading for Many Lights

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

Outline of Lecture. Real-Time High Quality Rendering. Geometry or Vertex Pipeline. Basic Hardware Pipeline. Pixel or Fragment Pipeline

Physically Based Shading in Unity. Aras Pranckevičius Rendering Dude

CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

The Rasterization Pipeline

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

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

Computer Graphics Shadow Algorithms

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

CS452/552; EE465/505. Clipping & Scan Conversion

MSAA- Based Coarse Shading

A Trip Down The (2011) Rasterization Pipeline

CS427 Multicore Architecture and Parallel Computing

Lecture 6: Texture. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Real-Time Hair Rendering on the GPU NVIDIA

Filtering theory: Battling Aliasing with Antialiasing. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Real-Time Voxelization for Global Illumination

Basic GPU techniques Josef Pelikán CGG MFF UK Praha.

Pipeline Operations. CS 4620 Lecture 10

A bit more Deferred - CryEngine 3. Triangle Game Conference 2009 Martin Mittring Lead Graphics Programmer

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

ADAPTIVE TEMPORAL ANTIALIASING

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Advanced Deferred Rendering Techniques. NCCA, Thesis Portfolio Peter Smith

The Rasterization Pipeline

Moving Mobile Graphics Advanced Real-time Shadowing. Marius Bjørge ARM

Pipeline Operations. CS 4620 Lecture 14

Game Developer Conference 2011 TheTechnology Technology Behind the DirectX 11 Unreal Engine "Samaritan" Demo

Resolve your Resolves Jon Story Holger Gruen AMD Graphics Products Group

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Beyond Programmable Shading 2012

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Complex Shading Algorithms

Shadow Rendering EDA101 Advanced Shading and Rendering

Fragment-Parallel Composite and Filter. Anjul Patney, Stanley Tzeng, and John D. Owens University of California, Davis

Lecture 17: Shadows. Projects. Why Shadows? Shadows. Using the Shadow Map. Shadow Maps. Proposals due today. I will mail out comments

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

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Render-To-Texture Caching. D. Sim Dietrich Jr.

5 MAJOR CHALLENGES IN REAL-TIME RENDERING

CS 464 Review. Review of Computer Graphics for Final Exam

Beyond Programmable Shading Course, ACM SIGGRAPH 2011

TDA361/DIT220 Computer Graphics, January 15 th 2016

High-Quality Surface Splatting on Today s GPUs

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside

Object Space Lighting. Dan Baker Founder, Oxide Games

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

New GPU Features of NVIDIA s Maxwell Architecture

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

CS354R: Computer Game Technology

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

Filtering theory: Battling Aliasing with Antialiasing. Department of Computer Engineering Chalmers University of Technology

The Traditional Graphics Pipeline

Introduction to Visualization and Computer Graphics

PowerVR Series5. Architecture Guide for Developers

CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside

The NVIDIA GeForce 8800 GPU

Spring 2009 Prof. Hyesoon Kim

Ray Tracing. Kjetil Babington

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

Intro to Ray-Tracing & Ray-Surface Acceleration

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

A SIMD-efficient 14 Instruction Shader Program for High-Throughput Microtriangle Rasterization

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

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Shadows. COMP 575/770 Spring 2013

rendering rasterization based rendering pipelined architecture, parallel mostly triangles (lines and points possible too)

Raycast Rendering Maya 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

CS4620/5620: Lecture 14 Pipeline

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

3D Rasterization II COS 426

3D Authoring Tool BS Content Studio supports Deferred Rendering for improved visual quality

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

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

The Traditional Graphics Pipeline

Rendering Structures Analyzing modern rendering on mobile

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

From Vertices to Fragments: Rasterization. Reading Assignment: Chapter 7. Special memory where pixel colors are stored.

The Making of Seemore WebGL. Will Eastcott, CEO, PlayCanvas

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

Programmable GPUs. Real Time Graphics 11/13/2013. Nalu 2004 (NVIDIA Corporation) GeForce 6. Virtua Fighter 1995 (SEGA Corporation) NV1

Shading. Brian Curless CSE 457 Spring 2017

28 SAMPLING. ALIASING AND ANTI-ALIASING

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

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

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

Deferred Renderer Proof of Concept Report

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

Transcription:

AGGREGATE G-BUFFER ANTI-ALIASING Cyril Crassin 1, Morgan McGuire 1,2, Kayvon Fatahalian 3, Aaron Lefohn 1 1 NVIDIA 2 Williams College 3 Carnegie Mellon University

Motivation Pixel The Mummy [ Universal Pictures / Digital Domain / Rhythm&Hues]

Overview High frequency shading is too costly Idea: Strong decoupling of shading rate Shading statistical geometry distributions Pixel frustum Aggregate 1 Aggregate 0 Pixel Per-sample Aggregate visibility and shading attributes

8 1

Single-sampled MSAA 8x AGAA (2A)

Single-sampled MSAA 8x AGAA (2A)

Single-sampled MSAA 8x AGAA (2A)

Related work 1/2 Deferred shading Simple/Complex [Lauritzen 2010] Segmentation based on geometric complexity Shading amortization: Across same planar surface Or almost planar -> Quality reduction Simple scenes + large memory requirement Credit: Crytek [Sousa 2013]

[Salvi 2012] Related work 2/2 Pixel frustum Surface Based Anti-Aliasing (SBAA) [Salvi 2012] High frequency visibility Simplified geometry pre-pass Only store and shade the n most contributing surfaces Non-shaded surface information discarded -> Aliasing in complex regions SSAA MSAA SBAA SBAA

AGAA overview Integrate ALL geometry samples All surfaces + curvature Pixel frustum Aggregate 1 Accumulate and filter geometry samples in pixel-space before shading Per-sample visibility (Z-buffer) Similar to texture/voxel-space pre-filtering But pixel-space + on-the-fly aggregation Aggregate G-Buffer statics: Normal Distribution Function (NDF) + sub-pixel position distribution. Average Albedo, Metal coef., emissive, etc. Aggregate 0 Per-sample Aggregate visibility and shading attributes

Pixel Pixel Pixel Rendering with Aggregates Framebuffer 8xAA Depth Depth Prepass Raster pass [8x Samples] Raster pass G-Buffer Generation G-Buffer Early depth testing Normal Albedo Metal Raster pass 8xAA AG-Buffer Generation Conversion Blend AG-Buffer NDF Mean albedo Mean metal 2xAA Deferred Shading [8x Samples] [2x Aggregates]

Pixel Pixel Rendering with Aggregates Framebuffer 8xAA Depth Raster pass Depth Prepass Face normal Aggregate Definition Aggregate Meta Data [Per-pixel] [8x Samples] Early depth testing AG-Buffer Generation Blend AG-Buffer NDF Mean albedo Mean metal 2xAA Deferred Shading Raster pass [2x Aggregates]

Pixel Framebuffer 8xAA Aggregate definition Depth Face normal Aggregate Definition Aggregate Meta Data [Per-pixel] Clustering visibility samples: [8x Samples] Cross-primitives + Disjoint surfaces Pixel frustum Aggregate 0 Aggregate 1 Goal: Minimize shading errors due to correlated attributes [Bruneton and Neyret 2012] Distance function: Orientation + distance-based clustering Control over characteristic length of the scene Light source

Pixel Deferred Shading Similar to shading from filtered texture maps AGAA is independent from the shading model We used the Blinn-Phong BRDF model Filtering Specular component using Toksvig [Toksvig 2005] +Analytic approx. from Toksvig for Lambertian diffuse [Baker and Hill 2012] Shadowing must be filtered AG-Buffer NDF Mean albedo Mean metal [2x Aggregates] Pixel frustum Aggregate 1 2xAA Depth buffer Deferred Shading Shadow map Aggregate 0

Deferred 8x (reference)

FXAA

AGAA (1A) Memory: 41 MB Shading events: 1 /Pixel

AGAA (2A) Memory: 71 MB Shading events: 1.51 /Pixel

Deferred 8x (reference) Memory: 112 MB Shading events: 6.68 /Pixel (Simple/Complex)

AGAA (2A) Memory: 71 MB Shading events: 1.51 /Pixel

SBAA (2S) Memory: 88 MB Shading events: 1.72 /Pixel

SBAA (6S) Memory: 137 MB Shading events: 3.32 /Pixel

8 SBAA (6S) 1 Memory: 137 MB Shading events: 1.72 /Pixel

8 SBAA (6S) 1 Memory: 137 MB Shading events: 3.32 /Pixel

8 AGAA (2A) 1 Memory: 71 MB Shading events: 1.51 /Pixel

Deferred shading @8x MSAA 720p - Results : Performance Comparison with Simple/Complex [Lauritzen 2010] - NVIDIA GTX980 (Maxwell GM204) 54% Faster rendering than Simple/Complex (2.84x Faster shading) Old City Time (ms) AGAA Deferred Simple/Complex [Ref] 1. Prepass 2. Aggregate 3. AG-Buffer 4. Shading G-Buffer Simple/ Shading Def. Generation Gen. Complex Scene Total Total OldCity 2.61 0.6 3.8 3.6 10.61 5.73 0.41 10.24 16.38 UE3 FoliageMap 2 0.6 2.47 3.67 8.74 4.35 0.41 10.45 15.21

% mem relative to G-Buffer Results: Memory savings % Memory relative to super-sampled G-Buffer 37% saving @8x - 2 Aggregates 20% less than SBAA @2 Surfaces - ~40% less @Iso quality AGAA G-Buffer layout: [16B/Aggregate + 6B/Sample] G-Buffer layout: [16B/sample] 100 90 80 AG-Buffer 8x MSAA 16x MSAA 32x MSAA 89 77 70 60 63 52 59 66 50 40 30 37 31 46 50 54 20 28 10 0 1 2 3 4 Number of Aggregates /pixel

Constraints and Limitations Unified material with unique shading model No material switch (Skin, water, hair, cloth ) All shading inputs must be filterable! NDF precision: A few very differently oriented surfaces But uni-modal Gaussian distrib. Specular sparkling 1 Aggregate/ pixel Correlation issues: Lit green foliage + Shadowed red wall

Conclusion Path forward for very high sampling rates in real-time Scalable: Bounded storage and shading rate Properties: Cross-primitives + Cross-surfaces amortization All geometric details integrated Remaining work on pre-filtering schemes for advanced unified shading/material models

THANK YOU! Questions?

BACKUPS

Step 3: AG-Buffer generation * [Maxwell or DX12 hardware specific features] Rasterize @ sample frequency (Eg. 8x MSAA) Inside a set of color buffers @ Aggregate frequency (Eg. 2x) Per-sample early depth testing Fragment shader: Generates attributes for accum., weighted by visible coverage Route output attributes into one of the aggregates *[TIR M->N] *[Post-depth coverage] *[Out coverage override] Additive blending: Additive blending inside AG-Buffer (weighted sum) Depth buffer Aggregate Meta Data 8x MSAA AG-Buffer 2xAA Raster Prim. Coverage Depth Test *Post-depth coverage Fragment Shader *Output coverage (routing) Blend (ADDITIVE) NDF Mean albedo Mean metal Depth Fragment output attributes