informatik pbg05 – stony brook graphics week interactive ray tracing of point-based models ingo...

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

Post on 21-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

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

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

[email protected]

Ingo Wald MPI Informatik, Saarbrücken, GermanyMPI Informatik, Saarbrücken, Germany

[email protected]

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

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 ?

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

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

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

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…

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

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

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

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)

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

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)

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

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)

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

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

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

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…

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

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)

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

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

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

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

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

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 ?)

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

----

--

--

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

----

--

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

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

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

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

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

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

----

--

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

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

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

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

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

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

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

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

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

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

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

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…)

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

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

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

INFORMATIKINFORMATIK

4646PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005

Questions ?Questions ?

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

INFORMATIKINFORMATIK

4747PBG05 – Stony Brook Graphics WeekPBG05 – Stony Brook Graphics WeekJune 21, 2005June 21, 2005

Questions ?Questions ?

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

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

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

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…

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

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 !) !)

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

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 ?

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

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 ?

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

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

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

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,…

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

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 ?

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

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

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

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 ?