High-Quality Surface Splatting on Today s GPUs

Similar documents
Point-Based Rendering

Point Sample Rendering

CS427 Multicore Architecture and Parallel Computing

Point-Based rendering on GPU hardware. Advanced Computer Graphics 2008

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

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

Point based Rendering

Single-Pass High-Quality Splatting

Spring 2009 Prof. Hyesoon Kim

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

Deferred Splatting. Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE.

Screen-Space Triangulation for Interactive Point Rendering

Hardware Accelerated Rendering of Points as Surfaces

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

Spring 2011 Prof. Hyesoon Kim

Splat/Mesh Blending, Perspective Rasterization and Transparency for Point-Based Rendering

A Trip Down The (2011) Rasterization Pipeline

CS4620/5620: Lecture 14 Pipeline

High-Quality Surface Splatting on Today's GPUs

Line Drawing. Introduction to Computer Graphics Torsten Möller / Mike Phillips. Machiraju/Zhang/Möller

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

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

View-Independent Object-Space Surface Splatting

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

Perspective Accurate Splatting

Evolution of GPUs Chris Seitz

Rasterization Overview

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

Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations. CS 4620 Lecture 10

Scan line algorithm. Jacobs University Visualization and Computer Graphics Lab : Graphics and Visualization 272

PowerVR Hardware. Architecture Overview for Developers

Shaders. Slide credit to Prof. Zwicker

Adaptive Point Cloud Rendering

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

Line Drawing. Foundations of Computer Graphics Torsten Möller

Level of Details in Computer Rendering

Deferred Rendering Due: Wednesday November 15 at 10pm

CSL 859: Advanced Computer Graphics. Dept of Computer Sc. & Engg. IIT Delhi

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

The Rasterization Pipeline

An Image-space Approach to Interactive Point Cloud Rendering Including Shadows and Transparency

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

2.11 Particle Systems

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

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

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

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

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

Lecture 2. Shaders, GLSL and GPGPU

Cornell University CS 569: Interactive Computer Graphics. Introduction. Lecture 1. [John C. Stone, UIUC] NASA. University of Calgary

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

Today. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

Morphological: Sub-pixel Morhpological Anti-Aliasing [Jimenez 11] Fast AproXimatte Anti Aliasing [Lottes 09]

3D Rasterization II COS 426

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

Programming Graphics Hardware

Windowing System on a 3D Pipeline. February 2005

1.2.3 The Graphics Hardware Pipeline

APPROVAL SHEET. Title of Thesis: HYBRID 3D-MODEL REPRESENTATION THROUGH QUADRIC METRICS AND HARDWARE ACCELERATED POINT-BASED RENDERING

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

Hardware Rendering of 3D Geometry with Elevation Maps

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

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

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

The Rasterization Pipeline

CS 354R: Computer Game Technology

Dave Shreiner, ARM March 2009

Object Space EWA Surface Splatting: A Hardware Accelerated Approach to High Quality Point Rendering

CS 130 Final. Fall 2015

CS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST

Graphics Processing Unit Architecture (GPU Arch)

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

CS 464 Review. Review of Computer Graphics for Final Exam

TSBK03 Screen-Space Ambient Occlusion

Beyond Programmable Shading Course ACM SIGGRAPH 2010 Bending the Graphics Pipeline

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

CS770/870 Fall 2015 Advanced GLSL

Mattan Erez. The University of Texas at Austin

Real-Time Reyes: Programmable Pipelines and Research Challenges. Anjul Patney University of California, Davis

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming

GeForce4. John Montrym Henry Moreton

The Graphics Pipeline

CS451Real-time Rendering Pipeline

The Application Stage. The Game Loop, Resource Management and Renderer Design

Hardware-Assisted Visibility Ordering for Point-Based and Volume Rendering

Ciril Bohak. - INTRODUCTION TO WEBGL

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing)

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Drawing Fast The Graphics Pipeline

Mattan Erez. The University of Texas at Austin

Case 1:17-cv SLR Document 1-3 Filed 01/23/17 Page 1 of 33 PageID #: 60 EXHIBIT C

Computer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing

Rasterization and Graphics Hardware. Not just about fancy 3D! Rendering/Rasterization. The simplest case: Points. When do we care?

Graphics Hardware. Instructor Stephen J. Guy

Transcription:

High-Quality Surface Splatting on Today s GPUs M. Botsch, A. Hornung, M. Zwicker, L. Kobbelt Presented by Julian Yu-Chung Chen CS594 GPU Programming 2006-03-30

Outline Point Based Rendering Surface splatting This paper s unique contributions Multi-Pass deferred shading Elliptical Weighted Average approximation

Point Based Rendering Laser scanning range data, huge Mesh: need connectivity, triangulation PBR: Rendering directly with point set Courtesy of Stanford The Digital Michelangelo Project

Point-based surface representation No connectivity Surface Splatting

Volume and Surface

PBR - Splat Volume splatting to Surface splatting Interactive Application, trade-offs High performance High visual quality

Persp. Correct Phong Shading Anti- Aliasing Splats/ sec EWA Splatting!!! 1M NV30 Splatting PG 03!!! 27M Persp. Accurate GI 04 (!)!! 5M Phong Splatting PBG 04!!! 6M NV40 Splatting PBG 05!

Previous Work Well designed data structure: QSplat Pre-processing time: 1 hour/ 10M points Represent each splat by an alpha-textured quad or triangle Expensive, 3~4 times in size Representing each splat by one OpenGL vertex + pixel shader for rasterization Correct depth values for correcting blending result: depth map

Procedures Splat rasterization Hardware deferred shading, using MRT Visibility pass - depth map Attribute pass - color value & normal vector Shading pass - final color with MRTs

Splat Rasterization(*BSK04) 3D object space local parameterization 2D parameterization P 2 P Q 1 P 3 1 P k small neighborhood around Q u 1 u 0 basis function r k (u-u k ) Figure 2: Defining a texture function on the surface of a point-based object.

Splat Rasterization screen space object space P k m(u k ) mapping x=m(u) discrete output g(x) resampling kernel ρ k (x) Figure 4: Rendering by surface splatting, resampling kernels are accumulated in screen space.

Splat Rasterization A OpenGL vertex c -> d*d image space square (vert.s) Pixel shader test pixel(x,y) in d*d in or out of projected elliptical splat contour, discard outsiders Local raycast to get point on splat surface(with local parameter (u, v)), test against u 2 + v 2 = ( ) 2 ( 2 u T j (q c j ) + v T j (q c j )) 1 The rasterization of a splat S ( ) Calculate and accumulate weighting factor using ) w(x,y) = h ( u 2 + v 2 is performed by se, Pixel depth, normal, color determined in each pass

HW-Accelerated 3-Pass Deferred Shading Deferred Shading Visibility Splatting Avoid holes Generate Normal map Attribute Splatting Normalization Shading

Normals Interpolate normal vectors Assign linear normal field Static geometries No connectivity like for meshes Splat wrt. normals, generate normal map in multi-pass rendering

Normalization Shading Figure 2: Standard framebuffers provide 8 bit precision for Final normalization step to fix saturated lighting

EWA approximation on screen space A heuristic approximating EWA screenspace filter Generate enough fragments for antialiasing purpose, done in vertex shader Limit projected splat to be at least (2*rho) *(2rho) pixels Combine minimum, done in fragment shader #frag/#pixel increases to about 30, need DS

Approximate EWA Filtering Reconstruction filter radius r 3D := u 2 + v 2 Screen-space filter radius r 2D := d (x, y) /σ Combined filter r := min {r 3D, r 2D } w := Gauss (r) r 3D 1 r 2D 1 r 1

Approximate EWA Filtering No filter filtering Object space Object and screen space Object-Space Object-Space Screen-Space

Some Results

Phong shading

Figure 1: The deferred shading pipeline for GPU-based splatting. The visibility pass fills the z-buffer, such that the attribute pass can correctly accumulate surface attributes, like color values and normal vectors, in separate render targets. The final shading pass computes the actual color value for each image pixel based on the information stored in these render targets. Figure 5: From left to right: The Phong-shaded octopus model and NPR-shaded renderings of the dinosaur model, the Igea artifact, and the massive Lucy dataset. All models are rendered with shadow mapping enabled and hence require one additional visibility rendering pass for the shadow map generation.

Fragments/Pixel with/out AA Speed Low Quality High Quality Model #splats Overdraw Phong-SM NPR-SM Phong+SM NPR+SM [BK03] [BSK04] Balljoint 137k 5.9 / 7.2 20.1 15.5 13.3 11.9 24.8 4.5 Max 655k 7.9 / 15.4 22.0 20.4 14.9 14.5 27.0 5.9 David Head 1.1M 6.4 / 14.4 23.9 22.6 16.3 15.8 27.1 5.6 David Head 4.0M 6.9 / 37.7 26.0 25.3 17.5 17.2 31.3 5.5 David 8.3M 7.0 / 202 22.6 22.0 16.2 15.5 19.6 4.6 Lucy 14M 19.3 / 242 22.6 22.1 15.9 15.2 20.2 5.0 Table 1: This table shows the performance of our rendering approach in million splats per second for a 512 512 window, using a GeForce 6800 Ultra GPU. We give timings for several different shaders (Phong shading, NPR shading, with and without shadow mapping) and compare to the fast but low-quality splatting of [BK03], and the high-quality but expensive Phong splatting [BSK04]. Due to per-pixel Phong shading and anti-aliasing, the quality of our method is superior even to [BSK04], while the rendering performance is still comparable to [BK03]. The third column shows the average number of fragments contributing to resulting image pixels, without and with our anti-aliasing technique. Since the latter generates significantly more fragments for complex models, the acceleration provided by the deferred shading approach is even more important.

Quality Persp. Correct Phong Shading Anti- Aliasing Splats/ sec EWA Splatting!!! 1M NV30 Splatting PG 03!!! 27M Persp. Accurate GI 04 (!)!! 5M Phong Splatting PBG 04!!! 6M NV40 Splatting PBG 05!! (!) 23M

Drawbacks Flexibility of z-buffering Need expensive two render passes for visibility splatting and attribute blending

New GPU features Conclusion MRT - Multiple Render Target High precision floating point pipe Arithmetic, buffers, textures, blending High performance and high quality splatting Deferred shading EWA approximation

Questions?

References http://people.csail.mit.edu/matthias/ http://graphics.cs.cmu.edu/projects/adpewa/ http://www-i8.informatik.rwth-aachen.de/ publications/publications.html