Prefiltered Anti-Aliasing on Parallel Hardware

Slides:



Advertisements
Similar presentations
Sampling, Aliasing.
Advertisements

COMPUTER GRAPHICS SOFTWARE.
Technische Universität München Fakultät für Informatik Computer Graphics SS 2014 Sampling Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
G30™ A 3D graphics accelerator for mobile devices Petri Nordlund CTO, Bitboys Oy.
Computer Graphics Viewing, Rendering, Antialiasing گرد آوري و تاليف: دكتر احمد رضا نقش نيل چي دانشگاه اصفهان گروه مهندسي كامپيوتر.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
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.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
HCI 530 : Seminar (HCI) Damian Schofield.
Sampling, Aliasing, & Mipmaps
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
(conventional Cartesian reference system)
Status – Week 277 Victor Moya.
Pixel Shader Vertex Shader The Real-time Graphics Pipeline Input Assembler Rasterizer Output Merger.
Hardware-Based Nonlinear Filtering and Segmentation using High-Level Shading Languages I. Viola, A. Kanitsar, M. E. Gröller Institute of Computer Graphics.
Fast Global-Illumination on Dynamic Height Fields
Evolution of the Programmable Graphics Pipeline Patrick Cozzi University of Pennsylvania CIS Spring 2011.
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.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Volume Data Analysis and Visualization Stefan Bruckner Department of Informatics University of Bergen.
Filtering Approaches for Real-Time Anti-Aliasing /
Antialiasing with Line Samples Thouis R. Jones, Ronald N. Perry MERL - Mitsubishi Electric Research Laboratory.
Computer Graphics Panos Trahanias ΗΥ358 Spring 2009.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Computer Graphics Computer Graphics is everywhere: Visual system is most important sense: High bandwidth Natural communication Fast developments in Hardware.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
10/26/04© University of Wisconsin, CS559 Fall 2004 Last Time Drawing lines Polygon fill rules Midterm Oct 28.
CS 450: COMPUTER GRAPHICS ANTIALIASING SPRING 2015 DR. MICHAEL J. REALE.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Computer Graphics I, Fall 2008 Introduction to Computer Graphics.
1 Shadows (2) ©Anthony Steed Overview n Shadows – Umbra Recap n Penumbra Analytical v. Sampling n Analytical Aspect graphs Discontinuity meshing.
Week 6 - Wednesday.  What did we talk about last time?  Light  Material  Sensors.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
1 The Rendering Pipeline. CS788 Topic of HCI 2 Outline  Introduction  The Graphics Rendering Pipeline  Three functional stages  Example  Bottleneck.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute.
Accelerated Stereoscopic Rendering using GPU François de Sorbier - Université Paris-Est France February 2008 WSCG'2008.
Analytic Rasterization of Curves with Polynomial Filters Josiah Manson and Scott Schaefer Texas A&M University.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
Visual Parameter Exploration in GPU Shader Space Peter Mindek 1, Stefan Bruckner 2,1, Peter Rautek 3, and M. Eduard Gröller 1 1 Institute of Computer Graphics.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
컴퓨터 그래픽스 Real-time Rendering 1. Introduction.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Ray Tracing using Programmable Graphics Hardware
Institute for Visualization and Perception Research 1 © Copyright 2000 Haim Levkowitz Raster graphics alg’s for drawing 2D primitives Points of view Application.
CDS 301 Fall, 2008 From Graphics to Visualization Chap. 2 Sep. 3, 2009 Jie Zhang Copyright ©
Contextual Snapshots: Enriched Visualization with Interactive Spatial Annotations Peter Mindek 1, Stefan Bruckner 2,1 and M. Eduard Gröller 1 1 Institute.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Applications and Rendering pipeline
Graphics Pipeline Bringing it all together. Implementation The goal of computer graphics is to take the data out of computer memory and put it up on the.
ICG Syllabus 1. Introduction 2. Viewing in 3D and Graphics Programming
Chapter 10 Computer Graphics
Graphics Processing Unit
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
GPGPU: Distance Fields
Graphics Processing Unit
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics
RADEON™ 9700 Architecture and 3D Performance
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Computer Graphics (under.) Sep., 2017
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Introduction to Computer Graphics
Presentation transcript:

Prefiltered Anti-Aliasing on Parallel Hardware Thomas Auzinger Institute of Computer Graphics and Algorithms Vienna University of Technology

? Motivation Rasterization Raster grid Vector input Better output quality Rastered output Thomas Auzinger

Vector Graphics Display Mesh Rendering Examples Font Rendering Vector Graphics Display Mesh Rendering http://www.smashingmagazine.com/2009/11/02/the-ails-of-typographic-anti-aliasing/ http://server.arcgis.com/en/server/latest/publish-services/linux/drawing-behaviors-of-the-map-service.htm http://www.techarp.com/showarticle.aspx?artno=466&pgno=1 smashingmagazine.com server.arcgis.com techarp.com Thomas Auzinger

Which filter? How to evaluate it? Design Choices Which filter? How to evaluate it? Performance Quality Thomas Auzinger

Filter Choice Downsampling to half resolution: Delta filter Thomas Auzinger

Filter Choice Downsampling to half resolution: Box filter Hat filter Gaussian filter Thomas Auzinger

Which filter? How to evaluate it? Design Choices Simple Higher Order Which filter? How to evaluate it? Performance Quality Thomas Auzinger

Motivation – Filter Evaluation Thomas Auzinger

Motivation – Filter Evaluation Ground truth 256 samples per pixel Prefiltering 4 samples per pixel 16 samples per pixel 1 sample per pixel Thomas Auzinger

Sampling Supersampling Prefiltering Design Choices Simple Higher Order Which filter? How to evaluate it? Sampling Supersampling Prefiltering Performance Quality Thomas Auzinger

Publications TA*, Gabriel Mistelbauer*, I. Baclija, R. Schernthaner, Eduard Gröller, Stefan Bruckner Vessel Visualization using Curved Surface Reformation SciVis 2013 (IEEE Trans. Vis. Comp. Graph.) TA, Michael Guthe, Stefan Jeschke Analytic Anti-Aliasing of Linear Functions on Polytopes Eurographics 2012 (Comp. Graph. Forum) TA, Michael Wimmer, Stefan Jeschke Analytic Visibility on the GPU Eurographics 2013 (Comp. Graph. Forum) TA, Przem Musialski, Reinhold Preiner, Michael Wimmer Non-Sampled Anti-Aliasing VMV 2013 Thomas Auzinger

Publications TA*, Gabriel Mistelbauer*, I. Baclija, R. Schernthaner, Eduard Gröller, Stefan Bruckner Vessel Visualization using Curved Surface Reformation SciVis 2013 (IEEE Trans. Vis. Comp. Graph.) TA, Michael Guthe, Stefan Jeschke Analytic Anti-Aliasing of Linear Functions on Polytopes Eurographics 2012 (Comp. Graph. Forum) TA, Michael Wimmer, Stefan Jeschke Analytic Visibility on the GPU Eurographics 2013 (Comp. Graph. Forum) TA, Przem Musialski, Reinhold Preiner, Michael Wimmer Non-Sampled Anti-Aliasing VMV 2013 Thomas Auzinger

Sampling Supersampling Prefiltering Design Choices Simple Higher Order Which filter? How to evaluate it? Sampling Supersampling Prefiltering Performance Quality Thomas Auzinger

Curved Surface Reformation Sampling visibility Supersampling shading Interactive performance View direction Thomas Auzinger

Curved Surface Reformation mpCPR CR CSR Thomas Auzinger

Publications TA*, Gabriel Mistelbauer*, I. Baclija, R. Schernthaner, Eduard Gröller, Stefan Bruckner Vessel Visualization using Curved Surface Reformation SciVis 2013 (IEEE Trans. Vis. Comp. Graph.) TA, Michael Guthe, Stefan Jeschke Analytic Anti-Aliasing of Linear Functions on Polytopes Eurographics 2012 (Comp. Graph. Forum) TA, Michael Wimmer, Stefan Jeschke Analytic Visibility on the GPU Eurographics 2013 (Comp. Graph. Forum) TA, Przem Musialski, Reinhold Preiner, Michael Wimmer Non-Sampled Anti-Aliasing VMV 2013 Thomas Auzinger

Publications TA*, Gabriel Mistelbauer*, I. Baclija, R. Schernthaner, Eduard Gröller, Stefan Bruckner Vessel Visualization using Curved Surface Reformation SciVis 2013 (IEEE Trans. Vis. Comp. Graph.) TA, Michael Guthe, Stefan Jeschke Analytic Anti-Aliasing of Linear Functions on Polytopes Eurographics 2012 (Comp. Graph. Forum) TA, Michael Wimmer, Stefan Jeschke Analytic Visibility on the GPU Eurographics 2013 (Comp. Graph. Forum) TA, Przem Musialski, Reinhold Preiner, Michael Wimmer Non-Sampled Anti-Aliasing VMV 2013 Thomas Auzinger

Sampling Supersampling Prefiltering Design Choices Simple Higher Order Which filter? How to evaluate it? Sampling Supersampling Prefiltering Performance Quality Thomas Auzinger

Publications TA*, Gabriel Mistelbauer*, I. Baclija, R. Schernthaner, Eduard Gröller, Stefan Bruckner Vessel Visualization using Curved Surface Reformation SciVis 2013 (IEEE Trans. Vis. Comp. Graph.) TA, Michael Guthe, Stefan Jeschke Analytic Anti-Aliasing of Linear Functions on Polytopes Eurographics 2012 (Comp. Graph. Forum) TA, Michael Wimmer, Stefan Jeschke Analytic Visibility on the GPU Eurographics 2013 (Comp. Graph. Forum) TA, Przem Musialski, Reinhold Preiner, Michael Wimmer Non-Sampled Anti-Aliasing VMV 2013 Thomas Auzinger

Prefiltering Overview Sample positions Filter supports Mesh input Output Thomas Auzinger

Prefiltering in 2D Filter convolution: Sample location Filter function Mesh data Thomas Auzinger

Prefiltering in 2D Filter convolution: Complicated integration domain Intersection area Subdivision Integration domains Thomas Auzinger

Prefiltering in 2D Filter convolution: Thomas Auzinger

Prefiltering in 2D Filter convolution: Mesh data & filter Sample location Thomas Auzinger

Bonus: Prefiltering in 3D Filter convolution: Decomposition: Intersection volume Subdivision Integration domains Thomas Auzinger

at different filter radii Results Alias-free sampling of complex scenes: Area filtering 2 2.5 3 Gaussian filtering 2M tetrahedra at different filter radii (shown right) 2 2.5 3 Thomas Auzinger

Publications TA*, Gabriel Mistelbauer*, I. Baclija, R. Schernthaner, Eduard Gröller, Stefan Bruckner Vessel Visualization using Curved Surface Reformation SciVis 2013 (IEEE Trans. Vis. Comp. Graph.) TA, Michael Guthe, Stefan Jeschke Analytic Anti-Aliasing of Linear Functions on Polytopes Eurographics 2012 (Comp. Graph. Forum) TA, Michael Wimmer, Stefan Jeschke Analytic Visibility on the GPU Eurographics 2013 (Comp. Graph. Forum) TA, Przem Musialski, Reinhold Preiner, Michael Wimmer Non-Sampled Anti-Aliasing VMV 2013 Thomas Auzinger

Vertex Geometry Tessellation Vertex Geometry Tessellation Pipeline Traditional Analytic Input Input Vector Vertex Geometry Tessellation Vertex Geometry Tessellation Discretization (Rasterizer) Visibility Shading Anti-aliasing Visibility Shading Anti-aliasing Discretization (Integrator) Output Output Raster Thomas Auzinger

Visible edges not enough  boundary completion Analytic Filtering Visible edges not enough  boundary completion Thomas Auzinger

Results Single zone plate Thomas Auzinger

Analytic rasterization Results Another (white) zone plate below Analytic rasterization 1 sample per pixel Thomas Auzinger

Publications TA*, Gabriel Mistelbauer*, I. Baclija, R. Schernthaner, Eduard Gröller, Stefan Bruckner Vessel Visualization using Curved Surface Reformation SciVis 2013 (IEEE Trans. Vis. Comp. Graph.) TA, Michael Guthe, Stefan Jeschke Analytic Anti-Aliasing of Linear Functions on Polytopes Eurographics 2012 (Comp. Graph. Forum) TA, Michael Wimmer, Stefan Jeschke Analytic Visibility on the GPU Eurographics 2013 (Comp. Graph. Forum) TA, Przem Musialski, Reinhold Preiner, Michael Wimmer Non-Sampled Anti-Aliasing VMV 2013 Thomas Auzinger

Limitations Shading prefiltering Needs closed-form solution Only possible for simple shading models Linear gradients in image space No perspective interpolation No non-linear illumination models Thomas Auzinger

Analytic Rasterization Our Contribution Analytic Rasterization Visibility prefiltering Shading prefiltering Non-Sampled Anti-Aliasing (NSAA) Shading sampling Thomas Auzinger

Analytic Rasterization Our Contribution Analytic Rasterization Visibility prefiltering Shading prefiltering Non-Sampled Anti-Aliasing (NSAA) Shading sampling Thomas Auzinger

Pipeline Design Fragment gathering Weight computation Final blending Polygon input Fragment gathering Weight computation Final blending Raster image Thomas Auzinger

Pipeline – Fragment Gathering Polygon input Fragment gathering Weight computation Final blending Raster image Thomas Auzinger

Pipeline – Fragment Gathering Steps Fragment count (DX) Scan (GPGPU) Fragment gathering (DX) 1 2 fragment histogram ... 1 3 4 5 offset buffer ... B G primitive ID buffer Thomas Auzinger

Pipeline – Weight Computation Polygon input Fragment gathering Weight computation Final blending Raster image Thomas Auzinger

Pipeline – Weight Computation Steps Parallel hidden surface elimination (GPGPU) Parallel visibility prefiltering (GPGPU) analytic visibility analytic convolution Thomas Auzinger

Pipeline – Weight Computation Steps Parallel hidden surface elimination (GPGPU) Parallel visibility prefiltering (GPGPU) ... ... B G 0.1 0.2 0.7 0.4 0.3 0.6 primitive ID buffer weight buffer Thomas Auzinger

Pipeline – Final Blending Polygon input Fragment gathering Weight computation Final blending Raster image Thomas Auzinger

Pipeline – Final Blending Steps Compute shading (DX) Weighted blending (DX) ... 0.1 0.2 0.7 0.4 0.3 0.6 weight buffer + ... shading values Thomas Auzinger

Pipeline Polygon input Fragment gathering Weight computation Final blending Raster image Thomas Auzinger

Results Zone plate MSAA8 NSAA Thomas Auzinger

Results Log grid MSAA8 NSAA Thomas Auzinger

Results – Filter Comparison Radial filters Radial box Radial tent Gauss Thomas Auzinger

Bunny model at different LoDs Implementation in CUDA Timings Bunny model at different LoDs Implementation in CUDA Output resolution: 1024² GPU: Nvidia GTX 680 Timings in milliseconds 3-4 orders of magnitude slower than super- sampling # triangles visibility integration 7k 25 9.1 26k 50 21 70k 121 51 Thomas Auzinger

We presented methods for High-performance sampling Conclusions We presented methods for High-performance sampling Perfect-quality prefiltering Future work Supersampled shading Polynomial shader interpolation Transparency effects Thomas Auzinger

Thank you for your attention! Fin Thank you for your attention! Any questions? Thomas Auzinger

In parallel for all edges Unordered output  global sort Intersection In parallel for all edges Unordered output  global sort Scan-based visible edge determination Thomas Auzinger

Tiling Thomas Auzinger

Related Work Josiah Manson and Scott Schaefer Analytic Rasterization of Curves with Polynomial Filters Eurographics 2013 (Comp. Graph. Forum) Josiah Manson and Scott Schaefer Wavelet Rasterization Eurographics 2010 (Comp. Graph. Forum) G. Mistelbauer, A. Varchola, H. Bouzari, J. Starinsky, A. Köchl, R. Schernthaner, D. Fleischmann, E. Gröller, M. Srámek Centerline Reformations of Complex Vascular Structures Pacific Visualization Symposium 2012 Thomas Auzinger