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

Similar documents
Point based Rendering

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

Point-Based Rendering

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

Adaptive Point Cloud Rendering

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

Point Sample Rendering

Triangle Rasterization

Real-Time Voxelization for Global Illumination

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Hierarchical surface fragments *

CHAPTER 1 Graphics Systems and Models 3

Speeding up your game

Computer Graphics Ray Casting. Matthias Teschner

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

Pipeline Operations. CS 4620 Lecture 10

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

3D Rasterization II COS 426

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Pipeline Operations. CS 4620 Lecture 14

Point Based Modelling and Rendering

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics. Bing-Yu Chen National Taiwan University

Culling. Computer Graphics CSE 167 Lecture 12

CS451Real-time Rendering Pipeline

Accelerating Ray Tracing

Topics and things to know about them:

Ray Tracing. Kjetil Babington

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CS 4620 Midterm, March 21, 2017

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

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

CS 130 Final. Fall 2015

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM

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

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline

Surfels: Surface Elements as Rendering Primitives

POP: A Hybrid Point and Polygon Rendering System for Large Data

The Traditional Graphics Pipeline

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

Computer Graphics Shadow Algorithms

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

COMP 175: Computer Graphics April 11, 2018

Computer Graphics I Lecture 11

Texture Mapping. Michael Kazhdan ( /467) HB Ch. 14.8,14.9 FvDFH Ch. 16.3, , 16.6

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

For each question, indicate whether the statement is true or false by circling T or F, respectively.

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

High-Quality Surface Splatting on Today s GPUs

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Spatial Data Structures

Surfels: Surface Elements as Rendering Primitives

Image-Based Modeling and Rendering. Image-Based Modeling and Rendering. Final projects IBMR. What we have learnt so far. What IBMR is about

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

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

Three-Dimensional Shapes

Efficient High Quality Rendering of Point Sampled Geometry

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

CS4620/5620: Lecture 14 Pipeline

Assignment 6: Ray Tracing

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

2. Give an example of a non-constant function f(x, y) such that the average value of f over is 0.

Deferred Rendering Due: Wednesday November 15 at 10pm

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling

Accelerated Raytracing

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

Computer Graphics. Shadows

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

View-Independent Object-Space Surface Splatting

Spatial Data Structures

Visibility and Occlusion Culling

Hybrid Rendering for Collaborative, Immersive Virtual Environments

Spatial Data Structures

COMP 175 COMPUTER GRAPHICS. Lecture 11: Recursive Ray Tracer. COMP 175: Computer Graphics April 9, Erik Anderson 11 Recursive Ray Tracer

Homework #2. Shading, Ray Tracing, and Texture Mapping

Photorealism: Ray Tracing

Normal Mapping for Surfel-Based Rendering

Spatial Data Structures

Shear-Warp Volume Rendering. Volume Rendering Overview

Single-Pass High-Quality Splatting

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

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

Spatial Data Structures

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

International Journal of Computer Trends and Technology- volume3issue1-2012

CS 465 Program 4: Modeller

Intersection Acceleration

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al.

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

Advanced 3D-Data Structures

Rasterization. MIT EECS Frédo Durand and Barb Cutler. MIT EECS 6.837, Cutler and Durand 1

Randomized Point Sampling for Output-Sensitive Rendering of Complex Dynamic Scenes

Game Architecture. 2/19/16: Rasterization

Direct Rendering of Trimmed NURBS Surfaces

Universiteit Leiden Computer Science

Transcription:

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

Point Based Representation Point sampling of Surface Mesh construction, or Mesh-less Often come from laser scanning Or even natural light How do you render How do you peform other processing Visibility, Collision etc. Related concepts: image based representation, particle systems

Laser Range Scanning Michaelangelo Project Laser scanners sample points on a 3D shape Often on a grid Large number of samples Most surfaces have a high frequency

Point-Based Rendering

Surfels [Pfister et al., SIGGRAPH 2000]

Sampling Known Objects 3D Rasterization Layered Depth Images Cast rays through the object along each axis Advance ray by regular increments Store pre-filtered texture colors at the points Project the surfel into texture space and filter to get a single color Disk radius >= maximum inter sample distance rk = r0 2 k

Filter shape (e.g., Gaussian) is usually circular/spherical We want that shape on screen => ellipse in space EWA Filter = low-pass filter warped reconstruction filter Elliptical Weighted Average Low-Pass Filter Volume

Filter shape (e.g., Gaussian) is usually circular/spherical We want that shape on screen => ellipse in space EWA Filter = low-pass filter warped reconstruction filter Elliptical Weighted Average Low-Pass Filter W Volume

Filter shape (e.g., Gaussian) is usually circular/spherical We want that shape on screen => ellipse in space EWA Filter = low-pass filter warped reconstruction filter Elliptical Weighted Average Projection Low-Pass Filter W Volume

Filter shape (e.g., Gaussian) is usually circular/spherical We want that shape on screen => ellipse in space EWA Filter = low-pass filter warped reconstruction filter Elliptical Weighted Average Projection Low-Pass Filter W Convolution Volume

Filter shape (e.g., Gaussian) is usually circular/spherical We want that shape on screen => ellipse in space EWA Filter = low-pass filter warped reconstruction filter Elliptical Weighted Average Projection Low-Pass Filter W Convolution Volume

Storing surfels 3 Layered depth images (LDI), one per axis LDI = Images with multiple <depth,color> per pixel Makes a Layered Depth Cube (LDC) Pixel spacing h0 related to expected screen resolution Octree with node = bxb block of pixels Bottom-up construction Make pixel spacing = h0 2 i Filter down each block a) b)

Projection View frustum culling Traverse blocks to find the right resolution One surfel per pixel, or n for supersampling i n max = Length of projected block diagonals/b If i n max > filter footprint, traverse children Warp blocks to screen space Fast incremental algorithms [GrossMan & Daly] Only a few operations per surfel fewer than matrix multiplication due to regularity of samples

Filling Use Z buffer Each surfel covers an area Project this area orthographically and scan convert Approximate ellipse with a bounding parallelogram Depth varies linearly: surfel normal May have holes (magnification or surfel orientation) Shading: Per-surfel Phong illumination Also incorporates environment/normal maps Reconstruct image by filling holes between projected surfels Apply a filter in screen space Super-sample to improve quality

Splatting and Reconstruction

QSplat Primary goal is interactive rendering of very large point-data sets Built for the Digital Michelangelo Project [Rusinkiewicz and Levoy, SIGGRAPH 2000]

Sphere Trees A hierarchy of spheres, with leaves containing single vertices Each sphere stores center, radius, normal, normal cone width, and color (optional) Tree built the same way one would build a KDtree Median cut method Rendered really large models for the day Focus on memory layout and data quantization

Rendering Sphere Trees Start at root Do a visibility test View frustum Also back-face cull based on normal cone Recurse or Draw Recurse based on projected area of sphere with an adapted threshold To draw, use normals for lighting and z-buffer to resolve occlusion

Splat Shape Several options Square (OpenGL point ) Circle (triangle fan or texture mapped square) Gaussian (have to do two-pass) Can squash splats depending on viewing angle Sometimes causes holes at silhouettes, can be fixed by bounding squash factor

Splat Shape

Splat Silhouettes

Few Splats

Many Splats

Surface Reconstruction: Cocone p Voronoi cell of p p + pole of p = point in the Voronoi cell farthest from p ε < 0.1 the vector from p to p + is within π/8 of the true surface normal The surface is nearly flat within the cell

Surface Reconstruction: Cocone p + p Voronoi cell of p p + pole of p = point in the Voronoi cell farthest from p ε < 0.1 the vector from p to p + is within π/8 of the true surface normal The surface is nearly flat within the cell

Surface Reconstruction: Cocone p + p Voronoi cell of p p + pole of p = point in the Voronoi cell farthest from p ε < 0.1 the vector from p to p + is within π/8 of the true surface normal The surface is nearly flat within the cell

Surface Reconstruction: Cocone p + p Voronoi cell of p p + pole of p = point in the Voronoi cell farthest from p ε < 0.1 the vector from p to p + is within π/8 of the true surface normal The surface is nearly flat within the cell

Surface Reconstruction: Cocone p + p Voronoi cell of p p + pole of p = point in the Voronoi cell farthest from p ε < 0.1 the vector from p to p + is within π/8 of the true surface normal The surface is nearly flat within the cell

Sample Reconstructed Surfaces courtesy Tamal Dey, OSU

Moving Least Squares For point set P, MLS(P) is a projection operator which maps each point to itself: MLS(P) = {x: ψ(p, x) = x} ψ(p, x): Find a local reference plane at x: p(u,v) Compute local polynomial approximation to surface on the plane: p(u,v)

MLS courtesy Luiz Velho

Reference domain The local plane: is computed so as to minimize a local weighted sum of squared distances of the points pi to the plane

Light Field Uniformly sample two planes plane of cameras Many plane-pairs needed Need compression Quantization

Light Field Uniformly sample two planes plane of cameras Many plane-pairs needed Need compression Quantization

Light Field Uniformly sample two planes plane of cameras Many plane-pairs needed Need compression Quantization

Light Field Uniformly sample two planes plane of cameras Many plane-pairs needed Need compression Quantization

Rendering For each desired ray: Compute intersection with (u,v) and (s,t) planes Take closest ray Filter from the closest

Compression Vector quantization Build a codebook of 4D tiles Each tile an index into the codebook Example: 2x2x2x2 tiles, 16 bit index = 24:1 compression