informatik pbg05 – stony brook graphics week interactive ray tracing of point-based models ingo...
Post on 21-Dec-2015
220 views
TRANSCRIPT
INFORMATIKINFORMATIK
PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics Week
Interactive Ray TracingInteractive Ray Tracingof Point-based Modelsof Point-based Models
Ingo Wald MPI Informatik, Saarbrücken, GermanyMPI Informatik, Saarbrücken, Germany
Ingo Wald MPI Informatik, Saarbrücken, GermanyMPI Informatik, Saarbrücken, Germany
INFORMATIKINFORMATIK
22PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
MotivationMotivation
• 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 But: Why point-based ray tracingray tracing ? ?• Actually, two different questions:Actually, two different questions:
– Q1: Why Q1: Why ray tracingray tracing for point-based models ? for point-based models ?
– Q2: Why use Q2: Why use point-basedpoint-based techniques in ray tracing ? 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 But: Why point-based ray tracingray tracing ? ?• Actually, two different questions:Actually, two different questions:
– Q1: Why Q1: Why ray tracingray tracing for point-based models ? for point-based models ?
– Q2: Why use Q2: Why use point-basedpoint-based techniques in ray tracing ? techniques in ray tracing ?
INFORMATIKINFORMATIK
33PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Q1: Why Ray Tracing ?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 But: For PBR not thatthat important (multiresolution)… 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 beBut would benice to havenice 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 But: For PBR not thatthat important (multiresolution)… 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 beBut would benice to havenice to have
INFORMATIKINFORMATIK
44PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Q2: Why Q2: Why Point-basedPoint-based techniques techniques in Ray Tracing? in Ray Tracing?
• Native point-based data (acquisition)Native point-based data (acquisition)• Direct ray tracing avoids tesselationDirect ray tracing avoids tesselation
– Much simplerMuch simpler
• And for native And for native triangulartriangular models ? models ?• Triangular model Triangular model Point-based model Point-based model PBRT PBRT
– Does this make sense ?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…RT is log. in #tris, anyway. Don‘t need multiresolution…
– Many new problems with points as primitivesMany new problems with points as primitives Consistency, efficiency, loss of information…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 simplerMuch simpler
• And for native And for native triangulartriangular models ? models ?• Triangular model Triangular model Point-based model Point-based model PBRT PBRT
– Does this make sense ?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…RT is log. in #tris, anyway. Don‘t need multiresolution…
– Many new problems with points as primitivesMany new problems with points as primitives Consistency, efficiency, loss of information…Consistency, efficiency, loss of information…
INFORMATIKINFORMATIK
55PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Q2: Why Q2: Why Point-basedPoint-based techniques techniques in Ray Tracing? in Ray Tracing?
Interactive ray tracing: Three recent examplesInteractive ray tracing: Three recent examplesInteractive ray tracing: Three recent examplesInteractive ray tracing: Three recent examples
INFORMATIKINFORMATIK
66PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Q2: Why Q2: Why Point-basedPoint-based techniques techniques in Ray Tracing? in Ray Tracing?
Interactive ray tracing: Three recent examplesInteractive 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 examplesInteractive 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)
INFORMATIKINFORMATIK
77PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Q2: Why Q2: Why Point-basedPoint-based techniques techniques in Ray Tracing? in Ray Tracing?
Interactive ray tracing: Three recent examplesInteractive 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 examplesInteractive ray tracing: Three recent examples• Example 2: Lawrence Livermore isosurface (8 billion voxels)Example 2: Lawrence Livermore isosurface (8 billion voxels)
INFORMATIKINFORMATIK
88PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Q2: Why Q2: Why Point-basedPoint-based techniques techniques in Ray Tracing? in Ray Tracing?
Interactive ray tracing: Three recent examplesInteractive 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 examplesInteractive ray tracing: Three recent examples• Example 3: Forest landscape (1.5 billion triangles)Example 3: Forest landscape (1.5 billion triangles)
INFORMATIKINFORMATIK
99PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Q2: Why Q2: Why Point-basedPoint-based techniques techniques in Ray Tracing? in Ray Tracing?
Interactive ray tracing: Three recent examplesInteractive ray tracing: Three recent examples• Yes, can render all three already today Yes, can render all three already today without without PB techniquesPB techniques
• But: Doesn‘t make sense (>1G prim. for <1M pixels ?)But: Doesn‘t make sense (>1G prim. for <1M pixels ?)
– Too much data: Tiny camera moveToo much data: Tiny camera movetotally different datatotally different data Even though image doesn‘t change at all…Even though image doesn‘t change at all…
– Sample only every 1000Sample only every 1000thth pixel pixel SevereSevere aliasing aliasing Aliasing: THE most important problem of RTRT todayAliasing: THE most important problem of RTRT today
Need multiresolution approach also for RTNeed multiresolution approach also for RT• Probably best via PB approach Probably best via PB approach
– Current results only intermediate step…Current results only intermediate step…
– … … towards long-term goal of multiresolution (PB)RTtowards long-term goal of multiresolution (PB)RT
Interactive ray tracing: Three recent examplesInteractive ray tracing: Three recent examples• Yes, can render all three already today Yes, can render all three already today without without PB techniquesPB techniques
• But: Doesn‘t make sense (>1G prim. for <1M pixels ?)But: Doesn‘t make sense (>1G prim. for <1M pixels ?)
– Too much data: Tiny camera moveToo much data: Tiny camera movetotally different datatotally different data Even though image doesn‘t change at all…Even though image doesn‘t change at all…
– Sample only every 1000Sample only every 1000thth pixel pixel SevereSevere aliasing aliasing Aliasing: THE most important problem of RTRT todayAliasing: THE most important problem of RTRT today
Need multiresolution approach also for RTNeed multiresolution approach also for RT• Probably best via PB approach Probably best via PB approach
– Current results only intermediate step…Current results only intermediate step…
– … … towards long-term goal of multiresolution (PB)RTtowards long-term goal of multiresolution (PB)RT
INFORMATIKINFORMATIK
1010PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
How to ray trace PB models ?How to ray trace PB models ?
• Problem: Zero ray-point hit probability Problem: 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 volumeReconstruct 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“ raycan 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 probability Problem: 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 volumeReconstruct 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“ raycan then be found by „thin“ ray
• Long history of debate on which is better…Long history of debate on which is better…
INFORMATIKINFORMATIK
1111PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
How to ray trace PB models ?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)
INFORMATIKINFORMATIK
1212PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
How to ray trace PB models ?How to ray trace PB models ?
• Alternative 1: Growing raysAlternative 1: Growing rays• Many un-answered questionsMany un-answered questions
– Where Where exactlyexactly is the hit point ? is the hit point ? E.g., where to start the shadow ray from ?E.g., where to start the shadow ray from ?
• Alternative 1: Growing raysAlternative 1: Growing rays• Many un-answered questionsMany un-answered questions
– Where Where exactlyexactly is the hit point ? is the hit point ? E.g., where to start the shadow ray from ?E.g., where to start the shadow ray from ?
Hitpoint Hitpoint position ?position ?
Position APosition Apoints gathered points gathered
by beamby beam
INFORMATIKINFORMATIK
1313PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
How to ray trace PB models ?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 ?Where exactly is the hit point ?
– How stable is the decision ?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 ?Where exactly is the hit point ?
– How stable is the decision ?How stable is the decision ?
Hitpoint Hitpoint position ?position ?
Position APosition Apoints gathered points gathered
by beamby beam
INFORMATIKINFORMATIK
1414PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
How to ray trace PB models ?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 ?Where exactly is the hit point ?
– How stable is the decision ?How stable is the decision ?
– Is it consistent ?Is it consistent ? E.g., when viewed from different angle (shadow ray)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 ?Where exactly is the hit point ?
– How stable is the decision ?How stable is the decision ?
– Is it consistent ?Is it consistent ? E.g., when viewed from different angle (shadow ray)E.g., when viewed from different angle (shadow ray)
Hitpoint Hitpoint position ?position ?
Same surface, different Same surface, different viewpoint: viewpoint:
Same hitpoint ?Same hitpoint ?
Is it in shadow ?Is it in shadow ?
surface seen from Asurface seen from APosition APosition APosition B Position B (Light ?)(Light ?)
INFORMATIKINFORMATIK
1515PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
How to ray trace PB models ?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 ?Where exactly is the hit point ?
– How stable is the decision?How stable is the decision?
– Is it consistent ?Is it consistent ? Too many open questionsToo many open questions
• Alternative 1: Growing raysAlternative 1: Growing rays• Many un-answered questionsMany un-answered questions
– Where exactly is the hit point ?Where exactly is the hit point ?
– How stable is the decision?How stable is the decision?
– Is it consistent ?Is it consistent ? Too many open questionsToo many open questions
INFORMATIKINFORMATIK
1616PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
How to ray trace PB models ?How to ray trace PB models ?
• Alternative 2: Growing pointsAlternative 2: Growing points• Define unique surface through pointsDefine unique surface through points
– Always consistentAlways consistent
• Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/…
– TrivialTrivial
• Alternative 2: Growing pointsAlternative 2: Growing points• Define unique surface through pointsDefine unique surface through points
– Always consistentAlways consistent
• Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/…
– TrivialTrivial
INFORMATIKINFORMATIK
1717PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
How to ray trace PB models ?How to ray trace PB models ?
• Alternative 2: Growing pointsAlternative 2: Growing points• Define unique surface through pointsDefine unique surface through points
– Always consistentAlways consistent
• Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/…
– Trivial, but shading discontinuities (worse w/ shadows)Trivial, but shading discontinuities (worse w/ shadows)
• Alternative 2: Growing pointsAlternative 2: Growing points• Define unique surface through pointsDefine unique surface through points
– Always consistentAlways consistent
• Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/…
– Trivial, but shading discontinuities (worse w/ shadows)Trivial, but shading discontinuities (worse w/ shadows)
INFORMATIKINFORMATIK
1818PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
How to ray trace PB models ?How to ray trace PB models ?
• Better: Define smooth surfaceBetter: Define smooth surface• Use Adamson/Alexa‘s modelUse Adamson/Alexa‘s model
– Each point xEach point xi i has normal nhas normal ni i and radius rand radius ri i of influenceof influence
– Influence wInfluence wii falls off with distance to x falls off with distance to x ii
With wWith wii(x(xii)=1 and w)=1 and wii(x)=0 for all |x-x(x)=0 for all |x-xii|>r|>rii
– Define weighted average position Define weighted average position XX(x) and (x) and NN(x)(x)
– Define „distance“ function F(x) := ((x-Define „distance“ function F(x) := ((x-XX(x)).(x)).NN(x)(x)Implicit fct F(x)=0 is smooth surfaceImplicit fct F(x)=0 is smooth surface
• Need:Need:
– Useful rUseful rii ‘s (not given) ‘s (not given)
– Fast ray/surface intersection frameworkFast ray/surface intersection framework
• Better: Define smooth surfaceBetter: Define smooth surface• Use Adamson/Alexa‘s modelUse Adamson/Alexa‘s model
– Each point xEach point xi i has normal nhas normal ni i and radius rand radius ri i of influenceof influence
– Influence wInfluence wii falls off with distance to x falls off with distance to x ii
With wWith wii(x(xii)=1 and w)=1 and wii(x)=0 for all |x-x(x)=0 for all |x-xii|>r|>rii
– Define weighted average position Define weighted average position XX(x) and (x) and NN(x)(x)
– Define „distance“ function F(x) := ((x-Define „distance“ function F(x) := ((x-XX(x)).(x)).NN(x)(x)Implicit fct F(x)=0 is smooth surfaceImplicit fct F(x)=0 is smooth surface
• Need:Need:
– Useful rUseful rii ‘s (not given) ‘s (not given)
– Fast ray/surface intersection frameworkFast ray/surface intersection framework
INFORMATIKINFORMATIK
1919PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Choosing Splat RadiiChoosing Splat Radii
• Step 1: Choosing the splat radiiStep 1: Choosing the splat radii• Too small Too small Holes in the model Holes in the model
• Too large Too large Many regions of influence will overlap (slow) 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 rWu [EG04]: Determine rii such as to such as to
– Optimally cover surfaceOptimally cover surface
– Achieve minimal overlapAchieve minimal overlap
Optimal solution: Use exactly that techniqueOptimal solution: Use exactly that technique
• Note: Can also use ‚other‘ radii Note: 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 Too small Holes in the model Holes in the model
• Too large Too large Many regions of influence will overlap (slow) 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 rWu [EG04]: Determine rii such as to such as to
– Optimally cover surfaceOptimally cover surface
– Achieve minimal overlapAchieve minimal overlap
Optimal solution: Use exactly that techniqueOptimal solution: Use exactly that technique
• Note: Can also use ‚other‘ radii Note: 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
INFORMATIKINFORMATIK
2020PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Intersecting the SurfaceIntersecting 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 xEach point x always influenced by only few x ii
• Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with• Each point x always influenced by only few xEach point x always influenced by only few x ii
AA
BB
CC
DD
INFORMATIKINFORMATIK
2121PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Intersecting the SurfaceIntersecting 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 boxEnclose 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 boxEnclose each splat‘s ROI with tight fitting box
AA
BB
CC
DD
INFORMATIKINFORMATIK
2222PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Intersecting the SurfaceIntersecting 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild kd-tree over those AA boxes
AA
BB
CC
DD
INFORMATIKINFORMATIK
2323PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Intersecting the SurfaceIntersecting 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild kd-tree over those AA boxes
AA
BB
CC
DD
INFORMATIKINFORMATIK
2424PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Intersecting the SurfaceIntersecting 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild kd-tree over those AA boxes
AA
BB
CC
DD
INFORMATIKINFORMATIK
2525PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Intersecting the SurfaceIntersecting 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild kd-tree over those AA boxes
AA
BB
CC
DD
INFORMATIKINFORMATIK
2626PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Intersecting the SurfaceIntersecting 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild kd-tree over those AA boxes
– Leaves: Store list of splats whose ROI overlaps cellLeaves: 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild kd-tree over those AA boxes
– Leaves: Store list of splats whose ROI overlaps cellLeaves: Store list of splats whose ROI overlaps cell
AA
BB
CC
DDA,BA,B
AA
AA A,B,CA,B,C
BB
CC
B,CB,C
----
--
--
(right side (right side incomplete)incomplete)
INFORMATIKINFORMATIK
2727PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Intersecting the SurfaceIntersecting 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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild kd-tree over those AA boxes
– Leaves: Store list of splats whose ROI overlaps cellLeaves: 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)…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 boxEnclose each splat‘s ROI with tight fitting box
– Build kd-tree over those AA boxesBuild kd-tree over those AA boxes
– Leaves: Store list of splats whose ROI overlaps cellLeaves: 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)…Fast traversal, occlusion culling, good kd-trees (SAH)…
AA
BB
CC
DDA,BA,B
AA
AA A,B,CA,B,C
BB
CC
B,CB,C
----
--
--
INFORMATIKINFORMATIK
2828PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Intersecting the SurfaceIntersecting 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(tHave intersection if sgn(F(t i+1i+1)) != sign(F(t)) != sign(F(tii))))
– But: Too coarse sampling can miss the surfaceBut: 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 factorFurther optimize kd-tree to minimize F(x) callsFurther 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(tHave intersection if sgn(F(t i+1i+1)) != sign(F(t)) != sign(F(tii))))
– But: Too coarse sampling can miss the surfaceBut: 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 factorFurther optimize kd-tree to minimize F(x) callsFurther optimize kd-tree to minimize F(x) calls
• Need to take closer look at kd-treeNeed to take closer look at kd-tree
INFORMATIKINFORMATIK
2929PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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 closelyROI‘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 closelyROI‘s bound surface, but not closely
INFORMATIKINFORMATIK
3030PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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
AA
BB
CC
A,BA,B
AA
AA A,B,CA,B,C
BB
CC
B,CB,C
----
--
A,B,CA,B,CA,B,CA,B,C
INFORMATIKINFORMATIK
3131PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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
AA
BB
CC
A,BA,B
AA
AA A,B,CA,B,C
BB
CC
B,CB,C
----
-- A,B,CA,B,C
A,B,CA,B,CA,B,CA,B,C
INFORMATIKINFORMATIK
3232PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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
AA
BB
CC
A,BA,B
AA
AA A,B,CA,B,C
BB
CC
B,CB,C
----
-- A,B,CA,B,C
A,B,CA,B,CA,B,CA,B,C
INFORMATIKINFORMATIK
3333PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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 differenceCan 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 differenceCan make quite a difference
AA
BB
CC
A,BA,B
AA
AA A,B,CA,B,C
BB
CC
B,CB,C
----
-- A,B,CA,B,C
A,B,CA,B,CA,B,CA,B,C
INFORMATIKINFORMATIK
3434PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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 < 0Cull cells with min > 0 or max < 0
• Currently: Sample F with random xCurrently: Sample F with random xCan produce false culling (holes)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 < 0Cull cells with min > 0 or max < 0
• Currently: Sample F with random xCurrently: Sample F with random xCan produce false culling (holes)Can produce false culling (holes)
• Better: Interval arithmetic (Not implemented yet)Better: Interval arithmetic (Not implemented yet)
INFORMATIKINFORMATIK
3535PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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:
AA
BB
CC
A,BA,B
AA
AA A,B,CA,B,C
BB
CC
B,CB,C
----
--
INFORMATIKINFORMATIK
3636PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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…
AA
BB
CC
A,BA,B
AA
AA A,B,CA,B,C
BB
CC
B,CB,C
----
--
AA
INFORMATIKINFORMATIK
3737PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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 cells Fix: Post-shrinking of cells • Cut voxel into slices, cull slices Cut voxel into slices, cull slices
– Same problem as before: False culling…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 cells Fix: Post-shrinking of cells • Cut voxel into slices, cull slices Cut voxel into slices, cull slices
– Same problem as before: False culling…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
INFORMATIKINFORMATIK
3838PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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,BA,B
AA
AA A,B,CA,B,C
BB
CC
B,CB,C
----
--
INFORMATIKINFORMATIK
3939PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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
CC
A,BA,B
B,CB,C
AA
INFORMATIKINFORMATIK
4040PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
KD-Tree Post-optimizationsKD-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 moreUndo 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 moreUndo splits that don‘t make sense any more
CC
A,BA,B
B,CB,C
AA
INFORMATIKINFORMATIK
4141PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
ResultsResults
• Overall Framerate:1Dual-Opteron 2.4GHz, 512x512Overall Framerate:1Dual-Opteron 2.4GHz, 512x512• Overall Framerate:1Dual-Opteron 2.4GHz, 512x512Overall Framerate:1Dual-Opteron 2.4GHz, 512x512
ModelModel SizeSize DiffuseDiffuse Phong w/ShadowsPhong w/Shadows
Iphigenia HeadIphigenia Head 1M1M 6.86.8 Not measuredNot measured
Iphigenia FullIphigenia Full 1M1M 15.915.9 Not measuredNot measured
OctopusOctopus 465K465K 8.98.9 7.57.5DragonDragon 1.3M1.3M 7.47.4 7.17.1DavidDavid 1.5M1.5M 11.211.2 7.97.9
INFORMATIKINFORMATIK
4242PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
ResultsResults
• Overall Framerate: ~5-15 fps @ 1PCOverall Framerate: ~5-15 fps @ 1PC• Nice scalability to very complex modelsNice scalability to very complex models
• „„ManyIffis“: 24M points w/ shadows ManyIffis“: 24M points w/ shadows ~2fps@1PC ~2fps@1PC
• Overall Framerate: ~5-15 fps @ 1PCOverall Framerate: ~5-15 fps @ 1PC• Nice scalability to very complex modelsNice scalability to very complex models
• „„ManyIffis“: 24M points w/ shadows ManyIffis“: 24M points w/ shadows ~2fps@1PC ~2fps@1PC
INFORMATIKINFORMATIK
4343PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
ResultsResults
• Overall Framerate: ~5-15 fps @ 1PCOverall Framerate: ~5-15 fps @ 1PC• Nice scalability to very complex modelsNice scalability to very complex models• High-quality shadingHigh-quality shading
• Global IlluminationGlobal Illumination
• Overall Framerate: ~5-15 fps @ 1PCOverall Framerate: ~5-15 fps @ 1PC• Nice scalability to very complex modelsNice scalability to very complex models• High-quality shadingHigh-quality shading
• Global IlluminationGlobal Illumination
INFORMATIKINFORMATIK
4444PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
ResultsResults
• Overall Framerate: ~5-15 fps @ 1PCOverall Framerate: ~5-15 fps @ 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…)Not applicable to random point cloud (forest leaves…)
• Overall Framerate: ~5-15 fps @ 1PCOverall Framerate: ~5-15 fps @ 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…)Not applicable to random point cloud (forest leaves…)
INFORMATIKINFORMATIK
4545PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Summary & Future WorkSummary & 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, …Bounding the surface, interval arithmetic, …
• Multiresolution PBRTMultiresolution PBRT
– In particular, for massively complex modelsIn 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, …Bounding the surface, interval arithmetic, …
• Multiresolution PBRTMultiresolution PBRT
– In particular, for massively complex modelsIn particular, for massively complex models
INFORMATIKINFORMATIK
4646PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Questions ?Questions ?
INFORMATIKINFORMATIK
4747PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Questions ?Questions ?
INFORMATIKINFORMATIK
4848PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Q1: Why Ray Tracing ?Q1: Why Ray Tracing ?
• Impact of Shadows and Reflections: ExampleImpact of Shadows and Reflections: Example• Impact of Shadows and Reflections: ExampleImpact of Shadows and Reflections: Example
INFORMATIKINFORMATIK
4949PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Q2: Why Q2: Why Point-basedPoint-based techniques techniques in Ray Tracing? 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 representationShould be much easier for point-based representation
Eventual goal of (our) PBRT activitiesEventual 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) dataReduce (in-core) data
– Fight aliasingFight 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 representationShould be much easier for point-based representation
Eventual goal of (our) PBRT activitiesEventual 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) dataReduce (in-core) data
– Fight aliasingFight aliasing
• Current activities only first step in that direction…Current activities only first step in that direction…
INFORMATIKINFORMATIK
5050PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Adamson&Alexa‘s modelAdamson&Alexa‘s model
• ObservationsObservations• Need position and normal for each point Need position and normal for each point assume as given assume as given
• Need radius of influence for each pointNeed radius of influence for each point
• For each x, most wFor each x, most wii(x) will be zero(x) will be zero
– Fast computation: Need to know which...Fast computation: Need to know which...
• Evaluating F(x) will be costlyEvaluating F(x) will be costly
– Need to minimize F(x) callsNeed to minimize F(x) calls
– Need to quickly determine where surface can NOT beNeed to quickly determine where surface can NOT be
– Need to minimize number of points contributing to xNeed to minimize number of points contributing to x
Need to minimize regions of influence (minimize rNeed to minimize regions of influence (minimize r ii !) !)
• ObservationsObservations• Need position and normal for each point Need position and normal for each point assume as given assume as given
• Need radius of influence for each pointNeed radius of influence for each point
• For each x, most wFor each x, most wii(x) will be zero(x) will be zero
– Fast computation: Need to know which...Fast computation: Need to know which...
• Evaluating F(x) will be costlyEvaluating F(x) will be costly
– Need to minimize F(x) callsNeed to minimize F(x) calls
– Need to quickly determine where surface can NOT beNeed to quickly determine where surface can NOT be
– Need to minimize number of points contributing to xNeed to minimize number of points contributing to x
Need to minimize regions of influence (minimize rNeed to minimize regions of influence (minimize r ii !) !)
INFORMATIKINFORMATIK
5151PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
So: Why Interactive So: Why Interactive Point-basedPoint-based Ray Tracing ? Ray Tracing ?
Advantages of PBG in particular for ray tracers: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 And for native triangulartriangular models ? models ?• Triangular model Triangular model Point-based model Point-based model PBRT PBRT
– Does this make sense ?Does this make sense ?
Advantages of PBG in particular for ray tracers: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 And for native triangulartriangular models ? models ?• Triangular model Triangular model Point-based model Point-based model PBRT PBRT
– Does this make sense ?Does this make sense ?
INFORMATIKINFORMATIK
5252PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
So: Why Interactive So: Why Interactive Point-basedPoint-based Ray Tracing ? Ray Tracing ?
Advantages of PBG in particular for ray tracers:Advantages of PBG in particular for ray tracers:
Highly controversial issue amongst ray tracersHighly 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 capabilitiesDon‘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 ?How to (efficiently) intersect points ?• Triangles: well-defined surfaceTriangles: well-defined surface
– How to consistently intersect points ?How to consistently intersect points ?– In particular for secondary rays In particular for secondary rays
shadow ray has to see exactly the same surfaceshadow ray has to see exactly the same surface– Sampling: Loss of information ?Sampling: Loss of information ?
Many new problems, PBG advantages over rast. don‘t apply…Many new problems, PBG advantages over rast. don‘t apply… Where are the advantages ?Where are the advantages ?
Advantages of PBG in particular for ray tracers:Advantages of PBG in particular for ray tracers:
Highly controversial issue amongst ray tracersHighly 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 capabilitiesDon‘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 ?How to (efficiently) intersect points ?• Triangles: well-defined surfaceTriangles: well-defined surface
– How to consistently intersect points ?How to consistently intersect points ?– In particular for secondary rays In particular for secondary rays
shadow ray has to see exactly the same surfaceshadow ray has to see exactly the same surface– Sampling: Loss of information ?Sampling: Loss of information ?
Many new problems, PBG advantages over rast. don‘t apply…Many new problems, PBG advantages over rast. don‘t apply… Where are the advantages ?Where are the advantages ?
INFORMATIKINFORMATIK
5353PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Q1: Why Ray Tracing Q1: Why Ray Tracing
• Impact of Shadows and Reflections: ExampleImpact of Shadows and Reflections: Example• Impact of Shadows and Reflections: ExampleImpact of Shadows and Reflections: Example
INFORMATIKINFORMATIK
5454PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Motivation:Motivation:Why Point-based Rendering ?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 pipelineDirect PBR simplifies 3D processing pipeline Today: AcquisitionToday: Acquisitiontriangulationtriangulationrenderingrendering Direct PBR: Get rid of (non-trivial) triangulationDirect PBR: Get rid of (non-trivial) triangulation
• Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling
– Multiresolution, no connectivity/topology, much simpler,…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 pipelineDirect PBR simplifies 3D processing pipeline Today: AcquisitionToday: Acquisitiontriangulationtriangulationrenderingrendering Direct PBR: Get rid of (non-trivial) triangulationDirect PBR: Get rid of (non-trivial) triangulation
• Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling
– Multiresolution, no connectivity/topology, much simpler,…Multiresolution, no connectivity/topology, much simpler,…
INFORMATIKINFORMATIK
5555PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
Motivation:Motivation:Why Point-based Rendering ?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 pipelineDirect PBR simplifies 3D processing pipeline Today: AcquisitionToday: Acquisitiontriangulationtriangulationrenderingrendering Direct PBR: Get rid of (non-trivial) triangulationDirect PBR: Get rid of (non-trivial) triangulation
• Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling
– Multiresolution, no connectivity/topology, much simpler,…Multiresolution, no connectivity/topology, much simpler,…
• But – Why point-based But – Why point-based ray tracingray tracing ? ?• Actually, two different questions:Actually, two different questions:
– Q1: Why Q1: Why ray tracingray tracing for point-based models ? for point-based models ?
– Q2: Why Q2: Why point-basedpoint-based approach to ray tracing ? 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 pipelineDirect PBR simplifies 3D processing pipeline Today: AcquisitionToday: Acquisitiontriangulationtriangulationrenderingrendering Direct PBR: Get rid of (non-trivial) triangulationDirect PBR: Get rid of (non-trivial) triangulation
• Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling
– Multiresolution, no connectivity/topology, much simpler,…Multiresolution, no connectivity/topology, much simpler,…
• But – Why point-based But – Why point-based ray tracingray tracing ? ?• Actually, two different questions:Actually, two different questions:
– Q1: Why Q1: Why ray tracingray tracing for point-based models ? for point-based models ?
– Q2: Why Q2: Why point-basedpoint-based approach to ray tracing ? approach to ray tracing ?
INFORMATIKINFORMATIK
5656PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
OutlineOutline
• 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
• Results Results • 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
• Results Results • Summary and Future WorkSummary and Future Work
INFORMATIKINFORMATIK
5757PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005
How to ray trace PB models ?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 ?Where exactly is the hit point ?
– How sensitive is the procedure to exact form of beam ?How sensitive is the procedure to exact form of beam ? E.g., what if the beam were traced a little bit further ?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 ?Where exactly is the hit point ?
– How sensitive is the procedure to exact form of beam ?How sensitive is the procedure to exact form of beam ? E.g., what if the beam were traced a little bit further ?E.g., what if the beam were traced a little bit further ?
Hitpoint Hitpoint position ?position ?
Position APosition Apoints gathered points gathered
by beamby beam
Same surface ?Same surface ?