INFORMATIK PBG05 – Stony Brook Graphics Week Interactive Ray Tracing of Point-based Models Ingo Wald MPI Informatik, Saarbrücken, Germany MPI Informatik,

Slides:



Advertisements
Similar presentations
CSG and Raytracing CPSC 407.
Advertisements

The OpenRT Application Programming Interface - Towards a Common API for Interactive Ray Tracing – OpenSG 2003 Darmstadt, Germany Andreas Dietrich Ingo.
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Physically Based Real-time Ray Tracing Ryan Overbeck.
Ray Tracing Ray Tracing 1 Basic algorithm Overview of pbrt Ray-surface intersection (triangles, …) Ray Tracing 2 Brute force: Acceleration data structures.
Photon Mapping. How did I use it 10 years ago? Why might you want to use it tomorrow?
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Ray Tracing Variants Distributed ray tracing Generalized rays Cone Tracing Beam Tracing Pencil.
Rapid Visualization of Large Point-Based Surfaces Tamy Boubekeur Florent Duguet Christophe Schlick Presented by Xavier Granier.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Paper Presentation - An Efficient GPU-based Approach for Interactive Global Illumination- Rui Wang, Rui Wang, Kun Zhou, Minghao Pan, Hujun Bao Presenter.
The Ball Pivoting Algorithm
Afrigraph 2004 Interactive Ray-Tracing of Free-Form Surfaces Carsten Benthin Ingo Wald Philipp Slusallek Computer Graphics Lab Saarland University, Germany.
1 Interactive Point Based Ray Tracing June 21, 2005 Interactive Ray Tracing of Point-based Models Ingo Wald SCI Institute, University of Utah
Christian Lauterbach COMP 770, 2/11/2009
Real-Time Rendering Paper Presentation Imperfect Shadow Maps for Efficient Computation of Indirect Illumination T. Ritschel T. Grosch M. H. Kim H.-P. Seidel.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Fast and Accurate Soft Shadows using a Real-Time Beam Tracer Ravi Ramamoorthi Columbia Vision and Graphics Center Columbia University
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
Ray Casting Ray-Surface Intersections Barycentric Coordinates Reflection and Transmission [Shirley, Ch.9] Ray Tracing Handouts Ray Casting Ray-Surface.
Optimized Subdivisions for Preprocessed Visibility Oliver Mattausch, Jiří Bittner, Peter Wonka, Michael Wimmer Institute of Computer Graphics and Algorithms.
reconstruction process, RANSAC, primitive shapes, alpha-shapes
RT08, August ‘08 Large Ray Packets for Real-time Whitted Ray Tracing Ryan Overbeck Columbia University Ravi Ramamoorthi Columbia University William R.
CSC418 Computer Graphics n Raytracing n Shadows n Global Illumination.
Importance Driven Volume Rendering Authors: I. Viola, A. Kanitsar, M. Gröler Visualization II Instructor: Jessica Crouch.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Realtime Caustics using Distributed Photon Mapping Johannes Günther Ingo Wald * Philipp Slusallek Computer Graphics Group Saarland University ( * now at.
1 Single Scattering in Refractive Media with Triangle Mesh Boundaries Bruce Walter Shuang Zhao Nicolas Holzschuch Kavita Bala Cornell Univ. Grenoble Univ.
01/28/05© 2005 University of Wisconsin Last Time Improving Monte Carlo Efficiency.
1 Speeding Up Ray Tracing Images from Virtual Light Field Project ©Slides Anthony Steed 1999 & Mel Slater 2004.
The Visibility Problem In many environments, most of the primitives (triangles) are not visible most of the time –Architectural walkthroughs, Urban environments.
-Global Illumination Techniques
Week 13 - Monday.  What did we talk about last time?  Exam 2!  Before that…  Polygonal techniques ▪ Tessellation and triangulation  Triangle strips,
Interactive Visualization of Exceptionally Complex Industrial CAD Datasets Andreas Dietrich Ingo Wald Philipp Slusallek Computer Graphics Group Saarland.
Saarland University, Germany B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek.
Interactive Rendering With Coherent Ray Tracing Eurogaphics 2001 Wald, Slusallek, Benthin, Wagner Comp 238, UNC-CH, September 10, 2001 Joshua Stough.
Supporting Animation and Interaction Ingo Wald SCI Institute, University of Utah
Using Interactive Ray Tracing for Interactive Global Illumination Computer Graphics Lab Saarland University, Germany
Binary Space Partitioning Trees Ray Casting Depth Buffering
Department of Computer Science 1 Beyond CUDA/GPUs and Future Graphics Architectures Karu Sankaralingam University of Wisconsin-Madison Adapted from “Toward.
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
1 Polygonal Techniques 이영건. 2 Introduction This chapter –Discuss a variety of problems that are encountered within polygonal data sets The.
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Afrigraph 2004 Tutorial A: State of the Art in Massive Model Visualization Andreas Dietrich Saarland University Saarbrücken, Germany Andreas Dietrich Saarland.
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
Interactive Ray Tracing of Dynamic Scenes Tomáš DAVIDOVIČ Czech Technical University.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Ray Tracing Optimizations
Pre-Integrated Volume Rendering: Past, Present, Future
RENDERING : Global Illumination
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
Global Illumination (3) Path Tracing. Overview Light Transport Notation Path Tracing Photon Mapping.
David Luebke3/12/2016 Advanced Computer Graphics Lecture 3: More Ray Tracing David Luebke
Path/Ray Tracing Examples. Path/Ray Tracing Rendering algorithms that trace photon rays Trace from eye – Where does this photon come from? Trace from.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
APE'07 IV INTERNATIONAL CONFERENCE ON ADVANCES IN PRODUCTION ENGINEERING June 2007 Warsaw, Poland M. Nowakiewicz, J. Porter-Sobieraj Faculty of.
1 CSCE 441: Computer Graphics Lighting Jinxiang Chai.
Ray Tracing Dr. Scott Schaefer.
Ray Tracing Acceleration Techniques
CSCE 441: Computer Graphics Hidden Surface Removal
A Volumetric Method for Building Complex Models from Range Images
CSCE 441: Computer Graphics Ray Tracing
Anti-aliased and accelerated ray tracing
Presentation transcript:

INFORMATIK PBG05 – Stony Brook Graphics Week Interactive Ray Tracing of Point-based Models Ingo Wald MPI Informatik, Saarbrücken, Germany MPI Informatik, Saarbrücken, Germany Ingo Wald MPI Informatik, Saarbrücken, Germany MPI Informatik, Saarbrücken, Germany

INFORMATIK 2 PBG05 – Stony Brook Graphics Week June 21, 2005 Motivation Why point-based rendering ?Why point-based rendering ? Many advantages, but no details here at PBGMany advantages, but no details here at PBG But: Why point-based ray tracing ?But: Why point-based ray tracing ? Actually, two different questions:Actually, two different questions: –Q1: Why ray tracing for point-based models ? –Q2: Why use point-based techniques in ray tracing ? Why point-based rendering ?Why point-based rendering ? Many advantages, but no details here at PBGMany advantages, but no details here at PBG But: Why point-based ray tracing ?But: Why point-based ray tracing ? Actually, two different questions:Actually, two different questions: –Q1: Why ray tracing for point-based models ? –Q2: Why use point-based techniques in ray tracing ?

INFORMATIK 3 PBG05 – Stony Brook Graphics Week June 21, 2005 Q1: Why Ray Tracing ? Reason 1: Logarithmic scalability to large modelsReason 1: Logarithmic scalability to large models Very handy for today‘s huge modelsVery handy for today‘s huge models But: For PBR not that important (multiresolution)…But: For PBR not that important (multiresolution)… Reason 2 : Image quality / shading qualityReason 2 : Image quality / shading quality Ray traced image quality not yet standard in PBG…Ray traced image quality not yet standard in PBG… –But would be nice to have Reason 1: Logarithmic scalability to large modelsReason 1: Logarithmic scalability to large models Very handy for today‘s huge modelsVery handy for today‘s huge models But: For PBR not that important (multiresolution)…But: For PBR not that important (multiresolution)… Reason 2 : Image quality / shading qualityReason 2 : Image quality / shading quality Ray traced image quality not yet standard in PBG…Ray traced image quality not yet standard in PBG… –But would be nice to have

INFORMATIK 4 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Native point-based data (acquisition)Native point-based data (acquisition) Direct ray tracing avoids tesselationDirect ray tracing avoids tesselation –Much simpler And for native triangular models ?And for native triangular models ? Triangular model  Point-based model  PBRTTriangular model  Point-based model  PBRT –Does this make sense ? Highly controversial issue amongst ray tracing researchersHighly controversial issue amongst ray tracing researchers –RT is log. in #tris, anyway. Don‘t need multiresolution… –Many new problems with points as primitives  Consistency, efficiency, loss of information… Native point-based data (acquisition)Native point-based data (acquisition) Direct ray tracing avoids tesselationDirect ray tracing avoids tesselation –Much simpler And for native triangular models ?And for native triangular models ? Triangular model  Point-based model  PBRTTriangular model  Point-based model  PBRT –Does this make sense ? Highly controversial issue amongst ray tracing researchersHighly controversial issue amongst ray tracing researchers –RT is log. in #tris, anyway. Don‘t need multiresolution… –Many new problems with points as primitives  Consistency, efficiency, loss of information…

INFORMATIK 5 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Interactive ray tracing: Three recent examples

INFORMATIK 6 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Interactive ray tracing: Three recent examples Example 1: Boeing 777 (350 million triangles, 40 GB data) Example 1: Boeing 777 (350 million triangles, 40 GB data) Interactive ray tracing: Three recent examples Example 1: Boeing 777 (350 million triangles, 40 GB data) Example 1: Boeing 777 (350 million triangles, 40 GB data)

INFORMATIK 7 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Interactive ray tracing: Three recent examples Example 2: Lawrence Livermore isosurface (8 billion voxels) Example 2: Lawrence Livermore isosurface (8 billion voxels) Interactive ray tracing: Three recent examples Example 2: Lawrence Livermore isosurface (8 billion voxels) Example 2: Lawrence Livermore isosurface (8 billion voxels)

INFORMATIK 8 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Interactive ray tracing: Three recent examples Example 3: Forest landscape (1.5 billion triangles) Example 3: Forest landscape (1.5 billion triangles) Interactive ray tracing: Three recent examples Example 3: Forest landscape (1.5 billion triangles) Example 3: Forest landscape (1.5 billion triangles)

INFORMATIK 9 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Interactive ray tracing: Three recent examples Yes, can render all three already today without PB techniquesYes, can render all three already today without PB techniques But: Doesn‘t make sense (>1G prim. for 1G prim. for <1M pixels ?) –Too much data: Tiny camera move  totally different data  Even though image doesn‘t change at all… –Sample only every 1000 th pixel  Severe aliasing  Aliasing: THE most important problem of RTRT today  Need multiresolution approach also for RT Probably best via PB approachProbably best via PB approach –Current results only intermediate step… –… towards long-term goal of multiresolution (PB)RT Interactive ray tracing: Three recent examples Yes, can render all three already today without PB techniquesYes, can render all three already today without PB techniques But: Doesn‘t make sense (>1G prim. for 1G prim. for <1M pixels ?) –Too much data: Tiny camera move  totally different data  Even though image doesn‘t change at all… –Sample only every 1000 th pixel  Severe aliasing  Aliasing: THE most important problem of RTRT today  Need multiresolution approach also for RT Probably best via PB approachProbably best via PB approach –Current results only intermediate step… –… towards long-term goal of multiresolution (PB)RT

INFORMATIK 10 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Problem: Zero ray-point hit probabilityProblem: Zero ray-point hit probability Rays infinitely thinRays infinitely thin Points infitnitely thin, tooPoints infitnitely thin, too Two possible solutionsTwo possible solutions Use „thick“ rays that have volume (cones, beams, …)Use „thick“ rays that have volume (cones, beams, …) –Reconstruct from all points overlapping ray‘s volume „Grow“ points to have a surface„Grow“ points to have a surface –can then be found by „thin“ ray Long history of debate on which is better…Long history of debate on which is better… Problem: Zero ray-point hit probabilityProblem: Zero ray-point hit probability Rays infinitely thinRays infinitely thin Points infitnitely thin, tooPoints infitnitely thin, too Two possible solutionsTwo possible solutions Use „thick“ rays that have volume (cones, beams, …)Use „thick“ rays that have volume (cones, beams, …) –Reconstruct from all points overlapping ray‘s volume „Grow“ points to have a surface„Grow“ points to have a surface –can then be found by „thin“ ray Long history of debate on which is better…Long history of debate on which is better…

INFORMATIK 11 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Experience: Tracing beams very costly (much more than rays)Experience: Tracing beams very costly (much more than rays) Alternative 1: Growing raysAlternative 1: Growing rays Experience: Tracing beams very costly (much more than rays)Experience: Tracing beams very costly (much more than rays)

INFORMATIK 12 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ?  E.g., where to start the shadow ray from ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ?  E.g., where to start the shadow ray from ? Hitpoint position ? Position A points gathered by beam

INFORMATIK 13 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision ? Hitpoint position ? Position A points gathered by beam

INFORMATIK 14 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision ? –Is it consistent ?  E.g., when viewed from different angle (shadow ray) Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision ? –Is it consistent ?  E.g., when viewed from different angle (shadow ray) Hitpoint position ? Same surface, different viewpoint: Same hitpoint ? Is it in shadow ? surface seen from A Position A Position B (Light ?)

INFORMATIK 15 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision? –Is it consistent ?  Too many open questions Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision? –Is it consistent ?  Too many open questions

INFORMATIK 16 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 2: Growing pointsAlternative 2: Growing points Define unique surface through pointsDefine unique surface through points –Always consistent Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/… –Trivial Alternative 2: Growing pointsAlternative 2: Growing points Define unique surface through pointsDefine unique surface through points –Always consistent Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/… –Trivial

INFORMATIK 17 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 2: Growing pointsAlternative 2: Growing points Define unique surface through pointsDefine unique surface through points –Always consistent Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/… –Trivial, but shading discontinuities (worse w/ shadows) Alternative 2: Growing pointsAlternative 2: Growing points Define unique surface through pointsDefine unique surface through points –Always consistent Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/… –Trivial, but shading discontinuities (worse w/ shadows)

INFORMATIK 18 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Better: Define smooth surfaceBetter: Define smooth surface Use Adamson/Alexa‘s modelUse Adamson/Alexa‘s model –Each point x i has normal n i and radius r i of influence –Influence w i falls off with distance to x i  With w i (x i )=1 and w i (x)=0 for all |x-x i |>r i –Define weighted average position X(x) and N(x) –Define „distance“ function F(x) := ((x-X(x)).N(x)  Implicit fct F(x)=0 is smooth surface Need:Need: –Useful r i ‘s (not given) –Fast ray/surface intersection framework Better: Define smooth surfaceBetter: Define smooth surface Use Adamson/Alexa‘s modelUse Adamson/Alexa‘s model –Each point x i has normal n i and radius r i of influence –Influence w i falls off with distance to x i  With w i (x i )=1 and w i (x)=0 for all |x-x i |>r i –Define weighted average position X(x) and N(x) –Define „distance“ function F(x) := ((x-X(x)).N(x)  Implicit fct F(x)=0 is smooth surface Need:Need: –Useful r i ‘s (not given) –Fast ray/surface intersection framework

INFORMATIK 19 PBG05 – Stony Brook Graphics Week June 21, 2005 Choosing Splat Radii Step 1: Choosing the splat radiiStep 1: Choosing the splat radii Too small  Holes in the modelToo small  Holes in the model Too large  Many regions of influence will overlap (slow)Too large  Many regions of influence will overlap (slow) Use Wu et al.‘s optimal subsampling techniqueUse Wu et al.‘s optimal subsampling technique Wu [EG04]: Determine r i such as toWu [EG04]: Determine r i such as to –Optimally cover surface –Achieve minimal overlap  Optimal solution: Use exactly that technique Note: Can also use ‚other‘ radiiNote: Can also use ‚other‘ radii e.g., user-specified…e.g., user-specified… Might just be slower or contain holesMight just be slower or contain holes Step 1: Choosing the splat radiiStep 1: Choosing the splat radii Too small  Holes in the modelToo small  Holes in the model Too large  Many regions of influence will overlap (slow)Too large  Many regions of influence will overlap (slow) Use Wu et al.‘s optimal subsampling techniqueUse Wu et al.‘s optimal subsampling technique Wu [EG04]: Determine r i such as toWu [EG04]: Determine r i such as to –Optimally cover surface –Achieve minimal overlap  Optimal solution: Use exactly that technique Note: Can also use ‚other‘ radiiNote: Can also use ‚other‘ radii e.g., user-specified…e.g., user-specified… Might just be slower or contain holesMight just be slower or contain holes

INFORMATIK 20 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with Each point x always influenced by only few x iEach point x always influenced by only few x i Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with Each point x always influenced by only few x iEach point x always influenced by only few x i A B C D

INFORMATIK 21 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box A B C D

INFORMATIK 22 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes A B C D

INFORMATIK 23 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes A B C D

INFORMATIK 24 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes A B C D

INFORMATIK 25 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes A B C D

INFORMATIK 26 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes –Leaves: Store list of splats whose ROI overlaps cell Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes –Leaves: Store list of splats whose ROI overlaps cell A B C D A,B A AA,B,C B C B,C (right side incomplete)

INFORMATIK 27 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes –Leaves: Store list of splats whose ROI overlaps cell KD-Tree: Inherit advantages of fast triangular ray tracingKD-Tree: Inherit advantages of fast triangular ray tracing –Fast traversal, occlusion culling, good kd-trees (SAH)… Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes –Leaves: Store list of splats whose ROI overlaps cell KD-Tree: Inherit advantages of fast triangular ray tracingKD-Tree: Inherit advantages of fast triangular ray tracing –Fast traversal, occlusion culling, good kd-trees (SAH)… A B C D A,B A AA,B,C B C B,C

INFORMATIK 28 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 3: Ray/surface intersection in each voxelStep 3: Ray/surface intersection in each voxel Find distance t : F(t)=0Find distance t : F(t)=0 Equidistant sampling along tEquidistant sampling along t –Have intersection if sgn(F(t i+1 )) != sign(F(t i )) –But: Too coarse sampling can miss the surface Optimizations: Fast SSE implementation (no details)Optimizations: Fast SSE implementation (no details) Quite fast, but: Still main cost factorQuite fast, but: Still main cost factor  Further optimize kd-tree to minimize F(x) calls Need to take closer look at kd-treeNeed to take closer look at kd-tree Step 3: Ray/surface intersection in each voxelStep 3: Ray/surface intersection in each voxel Find distance t : F(t)=0Find distance t : F(t)=0 Equidistant sampling along tEquidistant sampling along t –Have intersection if sgn(F(t i+1 )) != sign(F(t i )) –But: Too coarse sampling can miss the surface Optimizations: Fast SSE implementation (no details)Optimizations: Fast SSE implementation (no details) Quite fast, but: Still main cost factorQuite fast, but: Still main cost factor  Further optimize kd-tree to minimize F(x) calls Need to take closer look at kd-treeNeed to take closer look at kd-tree

INFORMATIK 29 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Reason: KD-tree was built over ROI‘sReason: KD-tree was built over ROI‘s –ROI‘s bound surface, but not closely Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Reason: KD-tree was built over ROI‘sReason: KD-tree was built over ROI‘s –ROI‘s bound surface, but not closely

INFORMATIK 30 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Example from beforeExample from before Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Example from beforeExample from before A B C A,B A AA,B,C B C B,C -- - A,B,C A,B,C

INFORMATIK 31 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Actual surface only touches few voxelsActual surface only touches few voxels Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Actual surface only touches few voxelsActual surface only touches few voxels A B C A,B A AA,B,C B C B,C -- -A,B,C A,B,C A,B,C

INFORMATIK 32 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Many non-empty cells that are not necessaryMany non-empty cells that are not necessary Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Many non-empty cells that are not necessaryMany non-empty cells that are not necessary A B C A,B A AA,B,C B C B,C -- -A,B,C A,B,C A,B,C

INFORMATIK 33 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Many non-empty cells that are not necessaryMany non-empty cells that are not necessary –Can make quite a difference Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Many non-empty cells that are not necessaryMany non-empty cells that are not necessary –Can make quite a difference A B C A,B A AA,B,C B C B,C -- -A,B,C A,B,C A,B,C

INFORMATIK 34 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Fix: Determine min(F()) and max(F()) in each cellFix: Determine min(F()) and max(F()) in each cell  Cull cells with min > 0 or max 0 or max < 0 Currently: Sample F with random xCurrently: Sample F with random x  Can produce false culling (holes) Better: Interval arithmetic (Not implemented yet)Better: Interval arithmetic (Not implemented yet) Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Fix: Determine min(F()) and max(F()) in each cellFix: Determine min(F()) and max(F()) in each cell  Cull cells with min > 0 or max 0 or max < 0 Currently: Sample F with random xCurrently: Sample F with random x  Can produce false culling (holes) Better: Interval arithmetic (Not implemented yet)Better: Interval arithmetic (Not implemented yet)

INFORMATIK 35 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on:Example from earlier-on: Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on:Example from earlier-on: A B C A,B A AA,B,C B C B,C -- -

INFORMATIK 36 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on: Green regions would suffice…Example from earlier-on: Green regions would suffice… Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on: Green regions would suffice…Example from earlier-on: Green regions would suffice… A B C A,B A AA,B,C B C B,C -- - A

INFORMATIK 37 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on: Green regions would suffice…Example from earlier-on: Green regions would suffice… Fix: Post-shrinking of cellsFix: Post-shrinking of cells Cut voxel into slices, cull slicesCut voxel into slices, cull slices –Same problem as before: False culling… Important: Not only fewer cell intersections…Important: Not only fewer cell intersections… Also: Cells much thinner: Finer sampling, fewer artifactsAlso: Cells much thinner: Finer sampling, fewer artifacts Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on: Green regions would suffice…Example from earlier-on: Green regions would suffice… Fix: Post-shrinking of cellsFix: Post-shrinking of cells Cut voxel into slices, cull slicesCut voxel into slices, cull slices –Same problem as before: False culling… Important: Not only fewer cell intersections…Important: Not only fewer cell intersections… Also: Cells much thinner: Finer sampling, fewer artifactsAlso: Cells much thinner: Finer sampling, fewer artifacts

INFORMATIK 38 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink A,B A AA,B,C B C B,C -- -

INFORMATIK 39 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink C A,B B,C A

INFORMATIK 40 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink Optimization: Post-collapseOptimization: Post-collapse –Undo splits that don‘t make sense any more Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink Optimization: Post-collapseOptimization: Post-collapse –Undo splits that don‘t make sense any more C A,B B,C A

INFORMATIK 41 PBG05 – Stony Brook Graphics Week June 21, 2005 Results Overall Framerate:1Dual-Opteron 2.4GHz, 512x512Overall Framerate:1Dual-Opteron 2.4GHz, 512x512 ModelSizeDiffuse Phong w/Shadows Iphigenia Head 1M6.8 Not measured Iphigenia Full 1M15.9 Not measured Octopus465K Dragon1.3M David1.5M

INFORMATIK 42 PBG05 – Stony Brook Graphics Week June 21, 2005 Results Overall Framerate: ~5-15 1PCOverall Framerate: ~5-15 1PC Nice scalability to very complex modelsNice scalability to very complex models „ManyIffis“: 24M points w/ shadows  24M points w/ shadows  Overall Framerate: ~5-15 1PCOverall Framerate: ~5-15 1PC Nice scalability to very complex modelsNice scalability to very complex models „ManyIffis“: 24M points w/ shadows  24M points w/ shadows 

INFORMATIK 43 PBG05 – Stony Brook Graphics Week June 21, 2005 Results Overall Framerate: ~5-15 1PCOverall Framerate: ~5-15 1PC Nice scalability to very complex modelsNice scalability to very complex models High-quality shadingHigh-quality shading Global IlluminationGlobal Illumination Overall Framerate: ~5-15 1PCOverall Framerate: ~5-15 1PC Nice scalability to very complex modelsNice scalability to very complex models High-quality shadingHigh-quality shading Global IlluminationGlobal Illumination

INFORMATIK 44 PBG05 – Stony Brook Graphics Week June 21, 2005 Results Overall Framerate: ~5-15 1PCOverall Framerate: ~5-15 1PC Nice scalability to very complex modelsNice scalability to very complex models High-quality shadingHigh-quality shading Problems and limitations:Problems and limitations: Sometimes small holes (false culling, undersampling, …)Sometimes small holes (false culling, undersampling, …) All is static: Can‘t move points, can‘t change radiiAll is static: Can‘t move points, can‘t change radii Assumes continuous surface:Assumes continuous surface: –Not applicable to random point cloud (forest leaves…) Overall Framerate: ~5-15 1PCOverall Framerate: ~5-15 1PC Nice scalability to very complex modelsNice scalability to very complex models High-quality shadingHigh-quality shading Problems and limitations:Problems and limitations: Sometimes small holes (false culling, undersampling, …)Sometimes small holes (false culling, undersampling, …) All is static: Can‘t move points, can‘t change radiiAll is static: Can‘t move points, can‘t change radii Assumes continuous surface:Assumes continuous surface: –Not applicable to random point cloud (forest leaves…)

INFORMATIK 45 PBG05 – Stony Brook Graphics Week June 21, 2005 Summary & Future Work SummarySummary Motivated/Argued for Point-based Ray TracingMotivated/Argued for Point-based Ray Tracing Discussed „thin rays“ vs „thick rays“ issueDiscussed „thin rays“ vs „thick rays“ issue Outlined framework for Interactive PBRTOutlined framework for Interactive PBRT Future workFuture work Performance & StabilityPerformance & Stability –Bounding the surface, interval arithmetic, … Multiresolution PBRTMultiresolution PBRT –In particular, for massively complex models SummarySummary Motivated/Argued for Point-based Ray TracingMotivated/Argued for Point-based Ray Tracing Discussed „thin rays“ vs „thick rays“ issueDiscussed „thin rays“ vs „thick rays“ issue Outlined framework for Interactive PBRTOutlined framework for Interactive PBRT Future workFuture work Performance & StabilityPerformance & Stability –Bounding the surface, interval arithmetic, … Multiresolution PBRTMultiresolution PBRT –In particular, for massively complex models

INFORMATIK 46 PBG05 – Stony Brook Graphics Week June 21, 2005 Questions ?

INFORMATIK 47 PBG05 – Stony Brook Graphics Week June 21, 2005 Questions ?

INFORMATIK 48 PBG05 – Stony Brook Graphics Week June 21, 2005 Q1: Why Ray Tracing ? Impact of Shadows and Reflections: ExampleImpact of Shadows and Reflections: Example

INFORMATIK 49 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Need multiresolution approach also for RTNeed multiresolution approach also for RT Trivial for „nice“ (manifold) meshes (Progressive meshes,…)Trivial for „nice“ (manifold) meshes (Progressive meshes,…) But: „problematic“ for real-world models (Forest, Boeing, …)But: „problematic“ for real-world models (Forest, Boeing, …) –Should be much easier for point-based representation  Eventual goal of (our) PBRT activities Not ray tracing (nice) point-based modelsNot ray tracing (nice) point-based models Rather: Multiresolution ray tracing using a PB approachRather: Multiresolution ray tracing using a PB approach –Reduce (in-core) data –Fight aliasing Current activities only first step in that direction…Current activities only first step in that direction… Need multiresolution approach also for RTNeed multiresolution approach also for RT Trivial for „nice“ (manifold) meshes (Progressive meshes,…)Trivial for „nice“ (manifold) meshes (Progressive meshes,…) But: „problematic“ for real-world models (Forest, Boeing, …)But: „problematic“ for real-world models (Forest, Boeing, …) –Should be much easier for point-based representation  Eventual goal of (our) PBRT activities Not ray tracing (nice) point-based modelsNot ray tracing (nice) point-based models Rather: Multiresolution ray tracing using a PB approachRather: Multiresolution ray tracing using a PB approach –Reduce (in-core) data –Fight aliasing Current activities only first step in that direction…Current activities only first step in that direction…

INFORMATIK 50 PBG05 – Stony Brook Graphics Week June 21, 2005 Adamson&Alexa‘s model ObservationsObservations Need position and normal for each point  assume as givenNeed position and normal for each point  assume as given Need radius of influence for each pointNeed radius of influence for each point For each x, most w i (x) will be zeroFor each x, most w i (x) will be zero –Fast computation: Need to know which... Evaluating F(x) will be costlyEvaluating F(x) will be costly –Need to minimize F(x) calls –Need to quickly determine where surface can NOT be –Need to minimize number of points contributing to x  Need to minimize regions of influence (minimize r i !) ObservationsObservations Need position and normal for each point  assume as givenNeed position and normal for each point  assume as given Need radius of influence for each pointNeed radius of influence for each point For each x, most w i (x) will be zeroFor each x, most w i (x) will be zero –Fast computation: Need to know which... Evaluating F(x) will be costlyEvaluating F(x) will be costly –Need to minimize F(x) calls –Need to quickly determine where surface can NOT be –Need to minimize number of points contributing to x  Need to minimize regions of influence (minimize r i !)

INFORMATIK 51 PBG05 – Stony Brook Graphics Week June 21, 2005 So: Why Interactive Point-based Ray Tracing ? Advantages of PBG in particular for ray tracers: Native point-based data (acquisition)Native point-based data (acquisition) Avoid tesselation … sure, makes sense.Avoid tesselation … sure, makes sense. And for native triangular models ?And for native triangular models ? Triangular model  Point-based model  PBRTTriangular model  Point-based model  PBRT –Does this make sense ? Advantages of PBG in particular for ray tracers: Native point-based data (acquisition)Native point-based data (acquisition) Avoid tesselation … sure, makes sense.Avoid tesselation … sure, makes sense. And for native triangular models ?And for native triangular models ? Triangular model  Point-based model  PBRTTriangular model  Point-based model  PBRT –Does this make sense ?

INFORMATIK 52 PBG05 – Stony Brook Graphics Week June 21, 2005 So: Why Interactive Point-based Ray Tracing ? Advantages of PBG in particular for ray tracers:  Highly controversial issue amongst ray tracers Ray tracing is logarithmic in scene size, anywayRay tracing is logarithmic in scene size, anyway –Don‘t need point-based multiresolution capabilities Triangles very well suited for fast ray tracingTriangles very well suited for fast ray tracing –How to (efficiently) intersect points ? Triangles: well-defined surfaceTriangles: well-defined surface –How to consistently intersect points ? –In particular for secondary rays  shadow ray has to see exactly the same surface –Sampling: Loss of information ?  Many new problems, PBG advantages over rast. don‘t apply…  Where are the advantages ? Advantages of PBG in particular for ray tracers:  Highly controversial issue amongst ray tracers Ray tracing is logarithmic in scene size, anywayRay tracing is logarithmic in scene size, anyway –Don‘t need point-based multiresolution capabilities Triangles very well suited for fast ray tracingTriangles very well suited for fast ray tracing –How to (efficiently) intersect points ? Triangles: well-defined surfaceTriangles: well-defined surface –How to consistently intersect points ? –In particular for secondary rays  shadow ray has to see exactly the same surface –Sampling: Loss of information ?  Many new problems, PBG advantages over rast. don‘t apply…  Where are the advantages ?

INFORMATIK 53 PBG05 – Stony Brook Graphics Week June 21, 2005 Q1: Why Ray Tracing Impact of Shadows and Reflections: ExampleImpact of Shadows and Reflections: Example

INFORMATIK 54 PBG05 – Stony Brook Graphics Week June 21, 2005 Motivation: Why Point-based Rendering ? Point-based models become commonplacePoint-based models become commonplace Acquisition: Almost all models are point cloudsAcquisition: Almost all models are point clouds –Direct PBR simplifies 3D processing pipeline  Today: Acquisition  triangulation  rendering  Direct PBR: Get rid of (non-trivial) triangulation Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling –Multiresolution, no connectivity/topology, much simpler,… Point-based models become commonplacePoint-based models become commonplace Acquisition: Almost all models are point cloudsAcquisition: Almost all models are point clouds –Direct PBR simplifies 3D processing pipeline  Today: Acquisition  triangulation  rendering  Direct PBR: Get rid of (non-trivial) triangulation Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling –Multiresolution, no connectivity/topology, much simpler,…

INFORMATIK 55 PBG05 – Stony Brook Graphics Week June 21, 2005 Motivation: Why Point-based Rendering ? Point-based models become commonplacePoint-based models become commonplace Acquisition: Almost all models are point cloudsAcquisition: Almost all models are point clouds –Direct PBR simplifies 3D processing pipeline  Today: Acquisition  triangulation  rendering  Direct PBR: Get rid of (non-trivial) triangulation Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling –Multiresolution, no connectivity/topology, much simpler,… But – Why point-based ray tracing ?But – Why point-based ray tracing ? Actually, two different questions:Actually, two different questions: –Q1: Why ray tracing for point-based models ? –Q2: Why point-based approach to ray tracing ? Point-based models become commonplacePoint-based models become commonplace Acquisition: Almost all models are point cloudsAcquisition: Almost all models are point clouds –Direct PBR simplifies 3D processing pipeline  Today: Acquisition  triangulation  rendering  Direct PBR: Get rid of (non-trivial) triangulation Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling –Multiresolution, no connectivity/topology, much simpler,… But – Why point-based ray tracing ?But – Why point-based ray tracing ? Actually, two different questions:Actually, two different questions: –Q1: Why ray tracing for point-based models ? –Q2: Why point-based approach to ray tracing ?

INFORMATIK 56 PBG05 – Stony Brook Graphics Week June 21, 2005 Outline MotivationMotivation Why point based ray tracingWhy point based ray tracing Our approachOur approach Thin rays vs thick raysThin rays vs thick rays Fast traversal and intersectionFast traversal and intersection ResultsResults Summary and Future WorkSummary and Future Work MotivationMotivation Why point based ray tracingWhy point based ray tracing Our approachOur approach Thin rays vs thick raysThin rays vs thick rays Fast traversal and intersectionFast traversal and intersection ResultsResults Summary and Future WorkSummary and Future Work

INFORMATIK 57 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How sensitive is the procedure to exact form of beam ?  E.g., what if the beam were traced a little bit further ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How sensitive is the procedure to exact form of beam ?  E.g., what if the beam were traced a little bit further ? Hitpoint position ? Position A points gathered by beam Same surface ?