Point-Based Rendering

Similar documents
Point Sample Rendering

High-Quality Surface Splatting on Today s GPUs

Point based Rendering

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

3D Rasterization II COS 426

View-Independent Object-Space Surface Splatting

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

Sampling, Aliasing, & Mipmaps

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

Hardware Accelerated Rendering of Points as Surfaces

Perspective Accurate Splatting

Sampling, Aliasing, & Mipmaps

Representing and Rendering Surfaces with Points

CS 428: Fall Introduction to. Texture mapping and filtering. Andrew Nealen, Rutgers, /18/2010 1

Direct Volume Rendering

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Sampling, Aliasing, & Mipmaps

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

Splatting (feed-forward) Fill the holes. Process for volume rendering. Footprint Evaluation for Volume Rendering. Feed Backward vs.

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

International Journal of Computer Trends and Technology- volume3issue1-2012

Direct Rendering. Direct Rendering Goals

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

Digital Geometry Processing

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

CS 130 Final. Fall 2015

Computer Graphics. Lecture 8 Antialiasing, Texture Mapping

Single-Pass High-Quality Splatting

Pipeline Operations. CS 4620 Lecture 14

Textures. Texture coordinates. Introduce one more component to geometry

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

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

Volume Rendering. Lecture 21

CS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008

Computer Graphics 7 - Texture mapping, bump mapping and antialiasing

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Adaptive Point Cloud Rendering

CS4620/5620: Lecture 14 Pipeline

Direct Volume Rendering

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

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

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

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

Level of Details in Computer Rendering

Pipeline Operations. CS 4620 Lecture 10

CS 354R: Computer Game Technology

Footprint Area Sampled Texturing

Rasterization Overview

Surfels: Surface Elements as Rendering Primitives

KAISER FILTER FOR ANTIALIASING IN DIGITAL PHOTOGRAMMETRY

Computational Strategies

Computer Graphics. Sampling Theory & Anti-Aliasing. Philipp Slusallek

Direct Volume Rendering

Algebraic Splats Representation for Point Based Models

CS 4620 Program 3: Pipeline

CS4670: Computer Vision

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

Animation & Rendering

Extreme Simplification and Rendering of Point Sets using Algebraic Multigrid

Rendering Smoke & Clouds

Graphics Hardware and Display Devices

To Do. Advanced Computer Graphics. Discrete Convolution. Outline. Outline. Implementing Discrete Convolution

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Fast Depth of Field Rendering with Surface Splatting

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

Scientific Visualization Example exam questions with commented answers

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

Hybrid Rendering for Collaborative, Immersive Virtual Environments

Surface Splatting. The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters.

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

Aliasing and Antialiasing. ITCS 4120/ Aliasing and Antialiasing

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

Rendering If we have a precise computer representation of the 3D world, how realistic are the 2D images we can generate? What are the best way to mode

CS 464 Review. Review of Computer Graphics for Final Exam

CS GPU and GPGPU Programming Lecture 16+17: GPU Texturing 1+2. Markus Hadwiger, KAUST

REAL-TIME ADAPTIVE POINT SPLATTING FOR NOISY POINT CLOUDS

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

Surfels: Surface Elements as Rendering Primitives

Post-Convolved Splatting

A Survey and Classification of Real Time Rendering Methods

Texture Mapping and Special Effects

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics - Week 7

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

CS GPU and GPGPU Programming Lecture 12: GPU Texturing 1. Markus Hadwiger, KAUST

Sampling II, Anti-aliasing, Texture Filtering

CHAPTER 1 Graphics Systems and Models 3

Normal Mapping for Surfel-Based Rendering

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

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

Shape Modeling with Point-Sampled Geometry

Spring 2009 Prof. Hyesoon Kim

EF432. Introduction to spagetti and meatballs

Volume Graphics Introduction

2.11 Particle Systems

Hierarchical surface fragments *

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

Transcription:

Point-Based Rendering Kobbelt & Botsch, Computers & Graphics 2004 Surface Splatting (EWA: Elliptic Weighted Averaging) Main Idea Signal Processing Basics Resampling Gaussian Filters Reconstruction Kernels Footprint Rasterization Results 1

Points as Rendering Primitives Point clouds instead of triangle meshes [Levoy and Whitted 1985] Point-Based Surface Representation Points are samples of the surface The point cloud describes: 3D surface geometry Surface reflectance properties No additional information, such as connectivity (neighborhood information between points) texture maps, bump maps, etc. 2

Surface Elements - Surfels Each point corresponds to a surface element, or surfel, describing the surface in a small neighborhood Basic surfel: BasicSurfel { position; color; } Extended Surfels Store additional attributes Allows for higher quality rendering or advanced shading effects ExtendedSurfel { position; color; normal; radius; etc... } 3

Surfels Surfels store essential information for rendering Surfels are primarily designed as a point rendering primitive Surfels do not provide a mathematically smooth surface definition Shape Approximation Piecewise linear C 0 polygons Piecewise constant C -1 points Piecewise linear C -1 splats 4

Point rendering by splatting Simple forward projection of point samples Splatting footprints: each point sample distributes its contribution among neighboring pixels Point Rendering Pipeline Surfels carry all information through the pipeline (surfel stream) No texture look-ups Framebuffer stores RGB, alpha, and Z 5

Surface splatting overview Surface splatting overview Gaussian reconstruction kernel on the tangent plane of each 3D point p i Project each kernel to image plane Low-pass filter projected kernel -> anti-aliased footprints (resampling kernels) Footprint rasterization: Sample footprints at pixel locations, weighted with shaded color value and restricted to visible regions 6

Step 1: Find the tangent plane Find normal direction n at point q by least squares fitting a tangent plane H(x) passing through q that minimizes the sum of squares for a set of points {p i } in a local neighborhood of q Step 1: Cover surface with disks Use surfel disc radius r to cover surface completely without holes (r depends on sampling density) 7

Step 2: Project the surface disks Project surfel discs from object to screen space Projected disc is an ellipse in screen space Ellipse shape adapts to surface orientation w.r.t. viewer m(t) x=(x,y) t=(t 1,t 2 ) Step 3: Resampling kernel A splat primitive consists of a colored point primitive and an alpha mask colored point primitive c i alpha mask w(x,y) (2D Gaussian) splat primitive c i.w(x,y) 8

Step 4: Footprint rasterization Evaluate splat primitives at all output pixel locations x=(x,y): Normalization necessary, for weights do not sum to 1 Contributions of each footprint are accumulated in a frame buffer. Visibility: A z-buffer is used to remove hidden surfaces Effect of normalization 9

Z-buffering Step 3: Compute resampling kernel The surface is represented in 3D coordinates t=(t 1,t 2 ) by with c i the samples, and r i (t) a Gaussian function whose width is proportional to the disk radius 10

Step 3: Compute resampling kernel The resampling filter in screen space is a convolution of a 2D anti-aliasing filter h(x) and a warped version of r i (t): reconstruction kernel low-pass filter convolve Here x=m(t) is the surface screen projection, and t=m -1 (x) its inverse Step 3: Compute resampling kernel The 2D anti-aliasing filter h(x) is chosen as a Gaussian whose width is proportional to the Nyquist frequency of the pixel grid The function r i (m -1 (.)) is approximately Gaussian as well ρ i (x) This means that ρ i (x) is a Gaussian filter kernel 11

Step 4: Footprint rasterization The continuous 2D screen space function is: ρi (x) where ci are shaded samples and ρi(x) are Gaussian footprints (resampling kernels) The Gaussian kernel is truncated at a cutoff radius r (typically 1< r < 2) This expression has to be evaluated at output pixel locations x=(x,y) Contributions of each footprint is accumulated in a frame buffer. A z-buffer is used to remove hidden surfaces Example Optimized sub-sampling of the Iphigenie model (top, 350k points) using 30k circular splats (bottom) [L. Kobbelt, M. Botsch / Computers & Graphics 28 (2004) 801 814] 12

Magnification and Minification Magnification: objects close to viewer. Reconstruction filter is enlarged, dominates the resampling filter Minification: objects far from viewer. Reconstruction filter is scaled down, lowpass filter dominates the resampling filter Magnification and Minification 13

Image Quality Comparison (a) surface splatting (b) ellipse splatting (footprints do not include low-pass filter) (c) bilinear interpolation (d) trilinear interpolation Improvement: cover surface with ellipses instead of disks An elliptical region around a surface point p i is defined by two tangential vectors u i and v i which are aligned to the principal curvature directions of the underlying surface The lengths of u i and v i are inversely proportional to the corresponding minimum and maximum curvatures So the ellipse centered at p i is defined by all points q in the tangent plane at p i that satisfy 14

Comparison Different shape approximations consisting of about 730 geometry primitives: irregular triangle meshes (left), regular aligned triangle mesh (center left), circular splats (center right), elliptical splats (right). [L. Kobbelt, M. Botsch / Computers & Graphics 28 (2004) 801 814] 15