Point Sample Rendering

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

Point-Based Rendering

High-Quality Surface Splatting on Today s GPUs

Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE Gaël Guennebaud Cyprus June 2006

View-Independent Object-Space Surface Splatting

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

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

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

Perspective Accurate Splatting

Point based Rendering

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

The Rasterization Pipeline

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

Adaptive Point Cloud Rendering

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

CS427 Multicore Architecture and Parallel Computing

Graphics Hardware. Instructor Stephen J. Guy

2.11 Particle Systems

Spring 2009 Prof. Hyesoon Kim

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

1.2.3 The Graphics Hardware Pipeline

GeForce4. John Montrym Henry Moreton

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

Hardware-driven Visibility Culling Jeong Hyun Kim

CS4620/5620: Lecture 14 Pipeline

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

Vincent Forest, Loïc Barthe, Mathias Paulin. IRIT-UPS-CNRS University of Toulouse, France

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Graphics Performance Optimisation. John Spitzer Director of European Developer Technology

Spring 2011 Prof. Hyesoon Kim

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Screen-Space Triangulation for Interactive Point Rendering

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Hardware Accelerated Rendering of Points as Surfaces

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

Mobile Point Fusion. Real-time 3d surface reconstruction out of depth images on a mobile platform

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

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

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

CS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18

Graphics Processing Unit Architecture (GPU Arch)

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

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

The Rendering Pipeline (1)

Triangle Rasterization

Texture Blending to Point Sampled Geometry Jose Luiz Soares Luz, Paulo Cezar Carvalho, Luiz Velho. Technical Report TR Relatório Técnico

Visibility and Occlusion Culling

Hierarchical surface fragments *

Single-Pass High-Quality Splatting

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Rendering approaches. 1.image-oriented. 2.object-oriented. foreach pixel... 3D rendering pipeline. foreach object...

PowerVR Hardware. Architecture Overview for Developers

Shape Modeling with Point-Sampled Geometry

High Quality Adaptive Soft Shadow Mapping

Rendering Objects. Need to transform all geometry then

Windowing System on a 3D Pipeline. February 2005

International Journal of Computer Trends and Technology- volume3issue1-2012

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

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

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

Architectures. Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1

Lecture 2. Shaders, GLSL and GPGPU

A SXGA 3D Display Processor with Reduced Rendering Data and Enhanced Precision. Seok-Hoon Kim MVLSI Lab., KAIST

Performance OpenGL Programming (for whatever reason)

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

REAL-TIME ADAPTIVE POINT SPLATTING FOR NOISY POINT CLOUDS

Pipeline Operations. CS 4620 Lecture 14

Real Time Rendering of Expensive Small Environments Colin Branch Stetson University

Hidden surface removal. Computer Graphics

Applications of Explicit Early-Z Culling

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

The F-Buffer: A Rasterization-Order FIFO Buffer for Multi-Pass Rendering. Bill Mark and Kekoa Proudfoot. Stanford University

Scanline Rendering 2 1/42

EECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

POWERVR MBX. Technology Overview

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Introduction to Visualization and Computer Graphics

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Volume Rendering. Lecture 21

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

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

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

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

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

CS535 Fall Department of Computer Science Purdue University

Rasterization Overview

Pipeline Operations. CS 4620 Lecture 10

CS451Real-time Rendering Pipeline

Computer Graphics 10 - Shadows

Particle-Based Volume Rendering of Unstructured Volume Data

Deus Ex is in the Details

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

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

Real-Time Buffer Compression. Michael Doggett Department of Computer Science Lund university

Programming Graphics Hardware

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

Transcription:

Point Sample Rendering Efficient Screen Space Approach for HW Accelerated Surfel Rendering VMV03, november 2003 Gaël GUENNEBAUD - Mathias PAULIN IRIT-CNRS-UPS TOULOUSE-FRANCE http://www.irit.fr/recherches/sirv/vis/surfel/index.html

Plan Surfel? Related Works EWA Splatting background Our efficient HW approach What about performance? Future work

Motivation of point based rendering High quality rendering of complex objects need very small triangles Building low level of details is very hard A simpler, more efficient rendering primitive than triangles? Modern 3D scanning devices acquire huge point clouds (~10 million pts) generating consistent triangle meshes is time consuming and difficult A rendering primitive for direct visualization of point clouds?

Point based Surface Representation The point cloud describes 3D geometry of the surface Surface reflectance properties Surface Element (Surfel) Normal Surfel tangent plane

Point based Surface Representation No additional information No connectivity No texture maps, no normal maps,... Consequently, it's easy to do : Multiresolution Per pixel lighting ~ per surfel lighting Painting...

What about the Rendering? Rendering... = holes filling Surfels need to interpolate the surface between the points

Motivation of this work Propose a very fast surfel rendering Since GPU performance outpaces CPU, we use the capability of recent GPU High quality texture filtering Limit memory cost and AGP bandwidth

Related Work Point sample rendering [Grossman98] Qsplat[RL00] / SPT [DVS03] Surfels[PZBG01] Surface splatting [ZPBG01] Object-Space EWA splatting [Ren02] Screen-Space HW Accelerated EWA Slpatting [03] USE HW Efficiency Isotropic texture filtering Texture filtering quality XX X / X XXXXXX / X XX / X XXXX / X XXX X XXXX Memory cost Duplicated data (~x6) X XXXXX X XXXX /

Splatting Surfel reconstruction filter (gaussian) Object Space Warped reconstruction filter (gaussian) WARP Screen Space ALIASING

Screen Space EWA Filtering [ZPBG01] Surfel reconstruction filter : r k (gaussian) Object Space WARP Warped reconstruction filter : r k ' (gaussian) Low-pass filter : h (gaussian) = Screen space resampling filter : k (gaussian) Screen Space For each pixel (i,j) : RGB ij < (RGB) k * k (i,j) High Frequency removal

Challenges Visibility No hole,hidden surface splats removal Lack of A buffer support EWA resampling filter View dependent Render elliptical Gaussian efficiently In order to minimise memory cost and bandwith : 1 surfel 1 vertex 1 GL_POINT

Three pass Overview Visibility splatting (1) Surfel Set Graphic Hardware The Visibility surfel Splatting set could be Generate stored into the depth video memory buffer With a small offset EWA splatting (2) EWA Splatting Without any hole! Z-buffer Color buffer Normalization (3) Render elliptical gaussian splat Use additive alpha blending Frame Buffer Normalization RGB = RGB / A

Pass 1 : Visibility Splatting How to handle an oriented disk with a simple GL_POINT? Surfel = tangent plane clipped by a frustum box Per fragment depth correction (via fragment program)

Pass 2 : EWA Filtering How to handle a view dependent elliptical disk with GL_POINTS? Use the GL_POINT as a bounding square of the resampling kernel (in screen space) Compute the parameters of the resampling filter (a gaussian) in VP (view dependent, per surfel) Compute Mahanalobis distance & exponential in FP

Pass 3 : Normalization Irregular sampling & truncation of the Gaussian kernel => k (i,j) 1 Use alpha component : < k (i,j) A ij (during the EWA splatting pass) Render the frame buffer in the frame buffer with : (R'G'B') ij = (RGB) ij /A ij

Optimizations Issues Use a hierarchical data structure View frustum + back face culling (Speed++) Solve the problem of too many splats on 1 pixel (Quality++) Per surfel back face culling via VP Set position.w = 0 for back face surfel Speed++ Quality++ (on outline)

HW Implementation GeForceFX 5800 under Linux High quality rendering Performance : fast, but the cost of VP and small FP (~5 op.) is very expensive! Max : 60M GL_POINTS per second Normalization cost : 0.12ms! This results are computed without high level data structures. FP on/off Back- Face culling Head model : ~300k points (512x512) Visibility EWA splatting FPS Surfel / s on/off 10ms 14ms 41.6 12.5M X 28ms 31ms 16.9 5M

Results

Screen Space VS Object Space [ren02] Drawbacks : Rasterisation is more expensive Need recent graphic hardware Advantages : No data duplication memory cost / 6.8 AGP bandwidth / 3.7 No duplicated vertex computation (/4) Faster : ~3 3.5 X

Future Faster implementation Simpler vertex and fragment programs via approximations of the EWA filtering Visibility and EWA splatting in one pass? Via a z buffer test with tolerance if z<depth ij e then { C d < C s ; depth ij < z; } else if z<depth ij +e then { C d < C d +C s ; } But need a R/W access in FP Or support for BlendingProgram? Add support for semi transparent surface

VIDEO

Questions?