Filtering Approaches for Real-Time Anti-Aliasing /

Slides:



Advertisements
Similar presentations
Point-based Graphics for Estimated Surfaces
Advertisements

Accelerating Real-Time Shading with Reverse Reprojection Caching Diego Nehab 1 Pedro V. Sander 2 Jason Lawrence 3 Natalya Tatarchuk 4 John R. Isidoro 4.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Computational Biology, Part 23 Biological Imaging II Robert F. Murphy Copyright  1996, 1999, All rights reserved.
Week 7 - Monday.  What did we talk about last time?  Specular shading  Aliasing and antialiasing.
Week 7 - Wednesday.  What did we talk about last time?  Transparency  Gamma correction  Started texturing.
CS 551 / CS 645 Antialiasing. What is a pixel? A pixel is not… –A box –A disk –A teeny tiny little light A pixel is a point –It has no dimension –It occupies.
Segmentation (2): edge detection
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
A new approach for modeling and rendering existing architectural scenes from a sparse set of still photographs Combines both geometry-based and image.
Real-Time Geometric and Color Calibration for Multi-Projector Displays Christopher Larson, Aditi Majumder Large-Area High Resolution Displays Motivation.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL An Incremental Weighted Least Squares Approach To Surface Light Fields Greg Coombe Anselmo Lastra.
Aliasing and Anti-Aliasing Copyright Zachary Wartell, University of North Carolina at Charlotte, All Rights Reserved Revision: 10/24/2007 3:38:00 AM ©Zachary.
Camera Calibration CS485/685 Computer Vision Prof. Bebis.
Paper by Alexander Keller
Multisample Antialiasing Kurt Akeley CS248 Lecture 6 11 October 2007
Robust estimation Problem: we want to determine the displacement (u,v) between pairs of images. We are given 100 points with a correlation score computed.
From Concept to Silicon How an idea becomes a part of a new chip at ATI Richard Huddy ATI Research.
OPTIMIZING AND DEBUGGING GRAPHICS APPLICATIONS WITH AMD'S GPU PERFSTUDIO 2.5 GPG Developer Tools Gordon Selley Peter Lohrmann GDC 2011.
High Performance in Broad Reach Games Chas. Boyd
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Multimedia Systems & Interfaces Karrie G. Karahalios Spring 2007.
© Chun-Fa Chang Sampling Theorem & Antialiasing. © Chun-Fa Chang Motivations “ My ray traced images have a lot more pixels than the TV screen. Why do.
Antialiasing with Line Samples Thouis R. Jones, Ronald N. Perry MERL - Mitsubishi Electric Research Laboratory.
March Shape Drawing Algorithms Shmuel Wimer Bar Ilan Univ., Engineering Faculty.
CGMB214: Introduction to Computer Graphics
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
Image Synthesis Rabie A. Ramadan, PhD 3. 2 Our Problem.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Visual quality techniques.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
CSC418 Computer Graphics n BSP tree n Z-Buffer n A-buffer n Scanline.
Week 6 - Wednesday.  What did we talk about last time?  Light  Material  Sensors.
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Dense Image Over-segmentation on a GPU Alex Rodionov 4/24/2009.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
December 9, 2014Computer Vision Lecture 23: Motion Analysis 1 Now we will talk about… Motion Analysis.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
ATI Stream Computing ATI Radeon™ HD 2900 Series GPU Hardware Overview Micah Villmow May 30, 2008.
Kylie Gorman WEEK 1-2 REVIEW. CONVERTING AN IMAGE FROM RGB TO HSV AND DISPLAY CHANNELS.
Lecture 6 Rasterisation, Antialiasing, Texture Mapping,
Learning to Detect Faces A Large-Scale Application of Machine Learning (This material is not in the text: for further information see the paper by P.
Sampling Pixel is an area!! – Square, Rectangular, or Circular? How do we approximate the area? – Why bother? Color of one pixel Image Plane Areas represented.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Edge Segmentation in Computer Images CSE350/ Sep 03.
1 Dr. Scott Schaefer Antialiasing. 2/70 What is aliasing?
Filters– Chapter 6. Filter Difference between a Filter and a Point Operation is that a Filter utilizes a neighborhood of pixels from the input image to.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
Antialiasing. What is alias? Alias - A false signal in telecommunication links from beats between signal frequency and sampling frequency (from dictionary.com)
Real-Time Soft Shadows with Adaptive Light Source Sampling
Motion and Optical Flow
SIFT on GPU Changchang Wu 5/8/2007.
Deferred Lighting.
The Graphics Rendering Pipeline
Antialiasing Dr. Scott Schaefer.
The Small batch (and Other) solutions in Mantle API
Sampling Theorem told us …
Introduction to Computer Graphics with WebGL
UMBC Graphics for Games
Lecture 13 Clipping & Scan Conversion
RADEON™ 9700 Architecture and 3D Performance
Fourier Transform of Boundaries
Computer Graphics Introduction to Shaders
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Frame Buffers Fall 2018 CS480/680.
Patch Textures: Hardware Implementation of Mesh Colors
Presentation transcript:

Filtering Approaches for Real-Time Anti-Aliasing /

Filtering Approaches for Real-Time Anti-Aliasing A Directionally Adaptive Edge Anti-Aliasing Filter Jason Yang

Current Hardware Approach: Multisample Anti-Aliasing (MSAA) No AA

Color gradations limited by the number of hardware samples 8x AA Current Hardware Approach: Multisample Anti-Aliasing (MSAA)

MSAA Overview Estimate primitive pixel coverage by testing at sample points Calculate a single color value per pixel per primitive (usually at the center of the pixel or at the centroid of the covered samples) and assign it to all covered samples

Traditional MSAA Speeds up rendering by not calculating values for each sample separately Non-uniform sampling grid is used to improve pixel coverage estimate

Traditional MSAA Primary goal is anti-aliasing of primitive and Z edges

Traditional MSAA Texture resampling performed elsewhere (mipmapping) –High frequency texture details (e.g. text) are lost in the MSAA color buffer and cannot be easily post-processed further

Motivation Can we use the GPU’s shader processing power and flexibility for better edge anti-aliasing (AA)? Goal –Improve primitive edge appearance (vs. “standard” MSAA processing) using the same number of samples and better software filtering algorithms

Can we use the GPU’s shader processing power and flexibility for better edge anti-aliasing (AA)? Our New Filter Motivation

Key Insight: Integration Approach and Isolines If we know isolines (isophotes) of the image function –Sample values outside of the pixel can be used –Weight them by the length of the corresponding isoline segment in the pixel and add all of them

Isoline Evaluation in Three Channels Need to find isolines –But only in the case of low curvature (as this is the case near the actual primitive edges) –Then we can model them as a straight lines Fit a plane into three channels to compute a gradient estimate –Use linear approximation –Solve least squares problem –Please see [Iourcha HPG2009] for more details

Filter Computation (Integration) Construct a square around the pixel, with two sides orthogonal to g Extend the rectangle, in the direction orthogonal to g until it meets the 3x3 pixel boundary

Filter Computation (Integration) For every sample v i, length of the segment of the line passing though v i and orthogonal to g inscribed by the pixel is its weight w i Calculate the weighted sum of all samples in the rectangle

Implemented using MS DirectX 10.1 Four shader passes: Bringing It All Together: Sample Implementation Pass 4 Gradient Calc. Gradient Buffer Edge Buffer IntegrationMasking Resolve Edge Finding Depth Buffer Frame Buffer Pass 1 Pass 2 Pass 3 MSAA Buffer Display Input from rendering

Pass 1 Identify edge pixels using the MSAA buffer. –Partial coverage == edge –High color contrast == edge of interest Seed the frame buffer by performing a standard resolve at each pixel

Pass 2 Mask out candidate pixels using edge patterns Computed in shader vs. tables We use 3x3 pixel patterns

Masking  For instance, if all 3x3 pixels are “edge” ones, there is no long dominating edge, and we do not want to smooth-out high-frequency in this case, etc.

Masking Can help avoid excessive corner smoothing Reduces processing time After MaskingFound Edges

Pass 3 Compute “gradients”

Pass 4 Calculate the final frame buffer color for the pixels from Pass 3 using the presented integration method with input samples from a 3x3 pixel neighborhood Integration and weights are computed in shader All other pixels were already filtered in Pass 1

Conclusion Runs in real-time No HW or SW modifications needed Go outside of the pixel Use GPU for more complex processing

One Problem Still relies on HW samples Problem for deferred rendering –Lost geometry data –Morphological Anti-Aliasing…

Future? The world will move to new hardware sometime soon Interesting DX11 and GL4.x features –More flexible AA –Run shaders at sample rate –Compute shader – interesting data structures and better performance

References HPG09.pdf morphological-aa.aspx

Trademark Attribution AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc. in the United States and/or other jurisdictions. Other names used in this presentation are for identification purposes only and may be trademarks of their respective owners. ©2011 Advanced Micro Devices, Inc. All rights reserved.