Download presentation
Presentation is loading. Please wait.
1
INFORMATIK PBG05 – Stony Brook Graphics Week Interactive Ray Tracing of Point-based Models Ingo Wald MPI Informatik, Saarbrücken, Germany MPI Informatik, Saarbrücken, Germany wald@mpi-inf.mpg.de Ingo Wald MPI Informatik, Saarbrücken, Germany MPI Informatik, Saarbrücken, Germany wald@mpi-inf.mpg.de
2
INFORMATIK 2 PBG05 – Stony Brook Graphics Week June 21, 2005 Motivation Why point-based rendering ?Why point-based rendering ? Many advantages, but no details here at PBGMany advantages, but no details here at PBG But: Why point-based ray tracing ?But: Why point-based ray tracing ? Actually, two different questions:Actually, two different questions: –Q1: Why ray tracing for point-based models ? –Q2: Why use point-based techniques in ray tracing ? Why point-based rendering ?Why point-based rendering ? Many advantages, but no details here at PBGMany advantages, but no details here at PBG But: Why point-based ray tracing ?But: Why point-based ray tracing ? Actually, two different questions:Actually, two different questions: –Q1: Why ray tracing for point-based models ? –Q2: Why use point-based techniques in ray tracing ?
3
INFORMATIK 3 PBG05 – Stony Brook Graphics Week June 21, 2005 Q1: Why Ray Tracing ? Reason 1: Logarithmic scalability to large modelsReason 1: Logarithmic scalability to large models Very handy for today‘s huge modelsVery handy for today‘s huge models But: For PBR not that important (multiresolution)…But: For PBR not that important (multiresolution)… Reason 2 : Image quality / shading qualityReason 2 : Image quality / shading quality Ray traced image quality not yet standard in PBG…Ray traced image quality not yet standard in PBG… –But would be nice to have Reason 1: Logarithmic scalability to large modelsReason 1: Logarithmic scalability to large models Very handy for today‘s huge modelsVery handy for today‘s huge models But: For PBR not that important (multiresolution)…But: For PBR not that important (multiresolution)… Reason 2 : Image quality / shading qualityReason 2 : Image quality / shading quality Ray traced image quality not yet standard in PBG…Ray traced image quality not yet standard in PBG… –But would be nice to have
4
INFORMATIK 4 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Native point-based data (acquisition)Native point-based data (acquisition) Direct ray tracing avoids tesselationDirect ray tracing avoids tesselation –Much simpler And for native triangular models ?And for native triangular models ? Triangular model Point-based model PBRTTriangular model Point-based model PBRT –Does this make sense ? Highly controversial issue amongst ray tracing researchersHighly controversial issue amongst ray tracing researchers –RT is log. in #tris, anyway. Don‘t need multiresolution… –Many new problems with points as primitives Consistency, efficiency, loss of information… Native point-based data (acquisition)Native point-based data (acquisition) Direct ray tracing avoids tesselationDirect ray tracing avoids tesselation –Much simpler And for native triangular models ?And for native triangular models ? Triangular model Point-based model PBRTTriangular model Point-based model PBRT –Does this make sense ? Highly controversial issue amongst ray tracing researchersHighly controversial issue amongst ray tracing researchers –RT is log. in #tris, anyway. Don‘t need multiresolution… –Many new problems with points as primitives Consistency, efficiency, loss of information…
5
INFORMATIK 5 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Interactive ray tracing: Three recent examples
6
INFORMATIK 6 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Interactive ray tracing: Three recent examples Example 1: Boeing 777 (350 million triangles, 40 GB data) Example 1: Boeing 777 (350 million triangles, 40 GB data) Interactive ray tracing: Three recent examples Example 1: Boeing 777 (350 million triangles, 40 GB data) Example 1: Boeing 777 (350 million triangles, 40 GB data)
7
INFORMATIK 7 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Interactive ray tracing: Three recent examples Example 2: Lawrence Livermore isosurface (8 billion voxels) Example 2: Lawrence Livermore isosurface (8 billion voxels) Interactive ray tracing: Three recent examples Example 2: Lawrence Livermore isosurface (8 billion voxels) Example 2: Lawrence Livermore isosurface (8 billion voxels)
8
INFORMATIK 8 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Interactive ray tracing: Three recent examples Example 3: Forest landscape (1.5 billion triangles) Example 3: Forest landscape (1.5 billion triangles) Interactive ray tracing: Three recent examples Example 3: Forest landscape (1.5 billion triangles) Example 3: Forest landscape (1.5 billion triangles)
9
INFORMATIK 9 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Interactive ray tracing: Three recent examples Yes, can render all three already today without PB techniquesYes, can render all three already today without PB techniques But: Doesn‘t make sense (>1G prim. for 1G prim. for <1M pixels ?) –Too much data: Tiny camera move totally different data Even though image doesn‘t change at all… –Sample only every 1000 th pixel Severe aliasing Aliasing: THE most important problem of RTRT today Need multiresolution approach also for RT Probably best via PB approachProbably best via PB approach –Current results only intermediate step… –… towards long-term goal of multiresolution (PB)RT Interactive ray tracing: Three recent examples Yes, can render all three already today without PB techniquesYes, can render all three already today without PB techniques But: Doesn‘t make sense (>1G prim. for 1G prim. for <1M pixels ?) –Too much data: Tiny camera move totally different data Even though image doesn‘t change at all… –Sample only every 1000 th pixel Severe aliasing Aliasing: THE most important problem of RTRT today Need multiresolution approach also for RT Probably best via PB approachProbably best via PB approach –Current results only intermediate step… –… towards long-term goal of multiresolution (PB)RT
10
INFORMATIK 10 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Problem: Zero ray-point hit probabilityProblem: Zero ray-point hit probability Rays infinitely thinRays infinitely thin Points infitnitely thin, tooPoints infitnitely thin, too Two possible solutionsTwo possible solutions Use „thick“ rays that have volume (cones, beams, …)Use „thick“ rays that have volume (cones, beams, …) –Reconstruct from all points overlapping ray‘s volume „Grow“ points to have a surface„Grow“ points to have a surface –can then be found by „thin“ ray Long history of debate on which is better…Long history of debate on which is better… Problem: Zero ray-point hit probabilityProblem: Zero ray-point hit probability Rays infinitely thinRays infinitely thin Points infitnitely thin, tooPoints infitnitely thin, too Two possible solutionsTwo possible solutions Use „thick“ rays that have volume (cones, beams, …)Use „thick“ rays that have volume (cones, beams, …) –Reconstruct from all points overlapping ray‘s volume „Grow“ points to have a surface„Grow“ points to have a surface –can then be found by „thin“ ray Long history of debate on which is better…Long history of debate on which is better…
11
INFORMATIK 11 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Experience: Tracing beams very costly (much more than rays)Experience: Tracing beams very costly (much more than rays) Alternative 1: Growing raysAlternative 1: Growing rays Experience: Tracing beams very costly (much more than rays)Experience: Tracing beams very costly (much more than rays)
12
INFORMATIK 12 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? E.g., where to start the shadow ray from ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? E.g., where to start the shadow ray from ? Hitpoint position ? Position A points gathered by beam
13
INFORMATIK 13 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision ? Hitpoint position ? Position A points gathered by beam
14
INFORMATIK 14 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision ? –Is it consistent ? E.g., when viewed from different angle (shadow ray) Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision ? –Is it consistent ? E.g., when viewed from different angle (shadow ray) Hitpoint position ? Same surface, different viewpoint: Same hitpoint ? Is it in shadow ? surface seen from A Position A Position B (Light ?)
15
INFORMATIK 15 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision? –Is it consistent ? Too many open questions Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How stable is the decision? –Is it consistent ? Too many open questions
16
INFORMATIK 16 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 2: Growing pointsAlternative 2: Growing points Define unique surface through pointsDefine unique surface through points –Always consistent Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/… –Trivial Alternative 2: Growing pointsAlternative 2: Growing points Define unique surface through pointsDefine unique surface through points –Always consistent Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/… –Trivial
17
INFORMATIK 17 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 2: Growing pointsAlternative 2: Growing points Define unique surface through pointsDefine unique surface through points –Always consistent Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/… –Trivial, but shading discontinuities (worse w/ shadows) Alternative 2: Growing pointsAlternative 2: Growing points Define unique surface through pointsDefine unique surface through points –Always consistent Most trivial solution: Use disks/ellipses/…Most trivial solution: Use disks/ellipses/… –Trivial, but shading discontinuities (worse w/ shadows)
18
INFORMATIK 18 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Better: Define smooth surfaceBetter: Define smooth surface Use Adamson/Alexa‘s modelUse Adamson/Alexa‘s model –Each point x i has normal n i and radius r i of influence –Influence w i falls off with distance to x i With w i (x i )=1 and w i (x)=0 for all |x-x i |>r i –Define weighted average position X(x) and N(x) –Define „distance“ function F(x) := ((x-X(x)).N(x) Implicit fct F(x)=0 is smooth surface Need:Need: –Useful r i ‘s (not given) –Fast ray/surface intersection framework Better: Define smooth surfaceBetter: Define smooth surface Use Adamson/Alexa‘s modelUse Adamson/Alexa‘s model –Each point x i has normal n i and radius r i of influence –Influence w i falls off with distance to x i With w i (x i )=1 and w i (x)=0 for all |x-x i |>r i –Define weighted average position X(x) and N(x) –Define „distance“ function F(x) := ((x-X(x)).N(x) Implicit fct F(x)=0 is smooth surface Need:Need: –Useful r i ‘s (not given) –Fast ray/surface intersection framework
19
INFORMATIK 19 PBG05 – Stony Brook Graphics Week June 21, 2005 Choosing Splat Radii Step 1: Choosing the splat radiiStep 1: Choosing the splat radii Too small Holes in the modelToo small Holes in the model Too large Many regions of influence will overlap (slow)Too large Many regions of influence will overlap (slow) Use Wu et al.‘s optimal subsampling techniqueUse Wu et al.‘s optimal subsampling technique Wu [EG04]: Determine r i such as toWu [EG04]: Determine r i such as to –Optimally cover surface –Achieve minimal overlap Optimal solution: Use exactly that technique Note: Can also use ‚other‘ radiiNote: Can also use ‚other‘ radii e.g., user-specified…e.g., user-specified… Might just be slower or contain holesMight just be slower or contain holes Step 1: Choosing the splat radiiStep 1: Choosing the splat radii Too small Holes in the modelToo small Holes in the model Too large Many regions of influence will overlap (slow)Too large Many regions of influence will overlap (slow) Use Wu et al.‘s optimal subsampling techniqueUse Wu et al.‘s optimal subsampling technique Wu [EG04]: Determine r i such as toWu [EG04]: Determine r i such as to –Optimally cover surface –Achieve minimal overlap Optimal solution: Use exactly that technique Note: Can also use ‚other‘ radiiNote: Can also use ‚other‘ radii e.g., user-specified…e.g., user-specified… Might just be slower or contain holesMight just be slower or contain holes
20
INFORMATIK 20 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with Each point x always influenced by only few x iEach point x always influenced by only few x i Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with Each point x always influenced by only few x iEach point x always influenced by only few x i A B C D
21
INFORMATIK 21 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box A B C D
22
INFORMATIK 22 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes A B C D
23
INFORMATIK 23 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes A B C D
24
INFORMATIK 24 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes A B C D
25
INFORMATIK 25 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes A B C D
26
INFORMATIK 26 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes –Leaves: Store list of splats whose ROI overlaps cell Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes –Leaves: Store list of splats whose ROI overlaps cell A B C D A,B A AA,B,C B C B,C -- - - (right side incomplete)
27
INFORMATIK 27 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes –Leaves: Store list of splats whose ROI overlaps cell KD-Tree: Inherit advantages of fast triangular ray tracingKD-Tree: Inherit advantages of fast triangular ray tracing –Fast traversal, occlusion culling, good kd-trees (SAH)… Step 2: Determining the splats to intersect withStep 2: Determining the splats to intersect with –Enclose each splat‘s ROI with tight fitting box –Build kd-tree over those AA boxes –Leaves: Store list of splats whose ROI overlaps cell KD-Tree: Inherit advantages of fast triangular ray tracingKD-Tree: Inherit advantages of fast triangular ray tracing –Fast traversal, occlusion culling, good kd-trees (SAH)… A B C D A,B A AA,B,C B C B,C -- - -
28
INFORMATIK 28 PBG05 – Stony Brook Graphics Week June 21, 2005 Intersecting the Surface Step 3: Ray/surface intersection in each voxelStep 3: Ray/surface intersection in each voxel Find distance t : F(t)=0Find distance t : F(t)=0 Equidistant sampling along tEquidistant sampling along t –Have intersection if sgn(F(t i+1 )) != sign(F(t i )) –But: Too coarse sampling can miss the surface Optimizations: Fast SSE implementation (no details)Optimizations: Fast SSE implementation (no details) Quite fast, but: Still main cost factorQuite fast, but: Still main cost factor Further optimize kd-tree to minimize F(x) calls Need to take closer look at kd-treeNeed to take closer look at kd-tree Step 3: Ray/surface intersection in each voxelStep 3: Ray/surface intersection in each voxel Find distance t : F(t)=0Find distance t : F(t)=0 Equidistant sampling along tEquidistant sampling along t –Have intersection if sgn(F(t i+1 )) != sign(F(t i )) –But: Too coarse sampling can miss the surface Optimizations: Fast SSE implementation (no details)Optimizations: Fast SSE implementation (no details) Quite fast, but: Still main cost factorQuite fast, but: Still main cost factor Further optimize kd-tree to minimize F(x) calls Need to take closer look at kd-treeNeed to take closer look at kd-tree
29
INFORMATIK 29 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Reason: KD-tree was built over ROI‘sReason: KD-tree was built over ROI‘s –ROI‘s bound surface, but not closely Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Reason: KD-tree was built over ROI‘sReason: KD-tree was built over ROI‘s –ROI‘s bound surface, but not closely
30
INFORMATIK 30 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Example from beforeExample from before Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Example from beforeExample from before A B C A,B A AA,B,C B C B,C -- - A,B,C A,B,C
31
INFORMATIK 31 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Actual surface only touches few voxelsActual surface only touches few voxels Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Actual surface only touches few voxelsActual surface only touches few voxels A B C A,B A AA,B,C B C B,C -- -A,B,C A,B,C A,B,C
32
INFORMATIK 32 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Many non-empty cells that are not necessaryMany non-empty cells that are not necessary Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Many non-empty cells that are not necessaryMany non-empty cells that are not necessary A B C A,B A AA,B,C B C B,C -- -A,B,C A,B,C A,B,C
33
INFORMATIK 33 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Many non-empty cells that are not necessaryMany non-empty cells that are not necessary –Can make quite a difference Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Many non-empty cells that are not necessaryMany non-empty cells that are not necessary –Can make quite a difference A B C A,B A AA,B,C B C B,C -- -A,B,C A,B,C A,B,C
34
INFORMATIK 34 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Fix: Determine min(F()) and max(F()) in each cellFix: Determine min(F()) and max(F()) in each cell Cull cells with min > 0 or max 0 or max < 0 Currently: Sample F with random xCurrently: Sample F with random x Can produce false culling (holes) Better: Interval arithmetic (Not implemented yet)Better: Interval arithmetic (Not implemented yet) Observation 1: Many full cells don‘t contain surf.Observation 1: Many full cells don‘t contain surf. Fix: Determine min(F()) and max(F()) in each cellFix: Determine min(F()) and max(F()) in each cell Cull cells with min > 0 or max 0 or max < 0 Currently: Sample F with random xCurrently: Sample F with random x Can produce false culling (holes) Better: Interval arithmetic (Not implemented yet)Better: Interval arithmetic (Not implemented yet)
35
INFORMATIK 35 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on:Example from earlier-on: Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on:Example from earlier-on: A B C A,B A AA,B,C B C B,C -- -
36
INFORMATIK 36 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on: Green regions would suffice…Example from earlier-on: Green regions would suffice… Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on: Green regions would suffice…Example from earlier-on: Green regions would suffice… A B C A,B A AA,B,C B C B,C -- - A
37
INFORMATIK 37 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on: Green regions would suffice…Example from earlier-on: Green regions would suffice… Fix: Post-shrinking of cellsFix: Post-shrinking of cells Cut voxel into slices, cull slicesCut voxel into slices, cull slices –Same problem as before: False culling… Important: Not only fewer cell intersections…Important: Not only fewer cell intersections… Also: Cells much thinner: Finer sampling, fewer artifactsAlso: Cells much thinner: Finer sampling, fewer artifacts Observation 2: Most cells too largeObservation 2: Most cells too large Reason: Only split planes at ROI bordersReason: Only split planes at ROI borders Example from earlier-on: Green regions would suffice…Example from earlier-on: Green regions would suffice… Fix: Post-shrinking of cellsFix: Post-shrinking of cells Cut voxel into slices, cull slicesCut voxel into slices, cull slices –Same problem as before: False culling… Important: Not only fewer cell intersections…Important: Not only fewer cell intersections… Also: Cells much thinner: Finer sampling, fewer artifactsAlso: Cells much thinner: Finer sampling, fewer artifacts
38
INFORMATIK 38 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink A,B A AA,B,C B C B,C -- -
39
INFORMATIK 39 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink C A,B B,C A
40
INFORMATIK 40 PBG05 – Stony Brook Graphics Week June 21, 2005 KD-Tree Post-optimizations Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink Optimization: Post-collapseOptimization: Post-collapse –Undo splits that don‘t make sense any more Observation 3: After shrink/cull, many cells emptyObservation 3: After shrink/cull, many cells empty Example from earlier-on: Most cells empty after cull/shrinkExample from earlier-on: Most cells empty after cull/shrink Optimization: Post-collapseOptimization: Post-collapse –Undo splits that don‘t make sense any more C A,B B,C A
41
INFORMATIK 41 PBG05 – Stony Brook Graphics Week June 21, 2005 Results Overall Framerate:1Dual-Opteron 2.4GHz, 512x512Overall Framerate:1Dual-Opteron 2.4GHz, 512x512 ModelSizeDiffuse Phong w/Shadows Iphigenia Head 1M6.8 Not measured Iphigenia Full 1M15.9 Not measured Octopus465K8.97.5 Dragon1.3M7.47.1 David1.5M11.27.9
42
INFORMATIK 42 PBG05 – Stony Brook Graphics Week June 21, 2005 Results 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 ~2fps@1PC„ManyIffis“: 24M points w/ shadows ~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 ~2fps@1PC„ManyIffis“: 24M points w/ shadows ~2fps@1PC
43
INFORMATIK 43 PBG05 – Stony Brook Graphics Week June 21, 2005 Results 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
44
INFORMATIK 44 PBG05 – Stony Brook Graphics Week June 21, 2005 Results 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…) 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…)
45
INFORMATIK 45 PBG05 – Stony Brook Graphics Week June 21, 2005 Summary & Future Work SummarySummary Motivated/Argued for Point-based Ray TracingMotivated/Argued for Point-based Ray Tracing Discussed „thin rays“ vs „thick rays“ issueDiscussed „thin rays“ vs „thick rays“ issue Outlined framework for Interactive PBRTOutlined framework for Interactive PBRT Future workFuture work Performance & StabilityPerformance & Stability –Bounding the surface, interval arithmetic, … Multiresolution PBRTMultiresolution PBRT –In particular, for massively complex models SummarySummary Motivated/Argued for Point-based Ray TracingMotivated/Argued for Point-based Ray Tracing Discussed „thin rays“ vs „thick rays“ issueDiscussed „thin rays“ vs „thick rays“ issue Outlined framework for Interactive PBRTOutlined framework for Interactive PBRT Future workFuture work Performance & StabilityPerformance & Stability –Bounding the surface, interval arithmetic, … Multiresolution PBRTMultiresolution PBRT –In particular, for massively complex models
46
INFORMATIK 46 PBG05 – Stony Brook Graphics Week June 21, 2005 Questions ?
47
INFORMATIK 47 PBG05 – Stony Brook Graphics Week June 21, 2005 Questions ?
48
INFORMATIK 48 PBG05 – Stony Brook Graphics Week June 21, 2005 Q1: Why Ray Tracing ? Impact of Shadows and Reflections: ExampleImpact of Shadows and Reflections: Example
49
INFORMATIK 49 PBG05 – Stony Brook Graphics Week June 21, 2005 Q2: Why Point-based techniques in Ray Tracing? Need multiresolution approach also for RTNeed multiresolution approach also for RT Trivial for „nice“ (manifold) meshes (Progressive meshes,…)Trivial for „nice“ (manifold) meshes (Progressive meshes,…) But: „problematic“ for real-world models (Forest, Boeing, …)But: „problematic“ for real-world models (Forest, Boeing, …) –Should be much easier for point-based representation Eventual goal of (our) PBRT activities Not ray tracing (nice) point-based modelsNot ray tracing (nice) point-based models Rather: Multiresolution ray tracing using a PB approachRather: Multiresolution ray tracing using a PB approach –Reduce (in-core) data –Fight aliasing Current activities only first step in that direction…Current activities only first step in that direction… Need multiresolution approach also for RTNeed multiresolution approach also for RT Trivial for „nice“ (manifold) meshes (Progressive meshes,…)Trivial for „nice“ (manifold) meshes (Progressive meshes,…) But: „problematic“ for real-world models (Forest, Boeing, …)But: „problematic“ for real-world models (Forest, Boeing, …) –Should be much easier for point-based representation Eventual goal of (our) PBRT activities Not ray tracing (nice) point-based modelsNot ray tracing (nice) point-based models Rather: Multiresolution ray tracing using a PB approachRather: Multiresolution ray tracing using a PB approach –Reduce (in-core) data –Fight aliasing Current activities only first step in that direction…Current activities only first step in that direction…
50
INFORMATIK 50 PBG05 – Stony Brook Graphics Week June 21, 2005 Adamson&Alexa‘s model ObservationsObservations Need position and normal for each point assume as givenNeed position and normal for each point assume as given Need radius of influence for each pointNeed radius of influence for each point For each x, most w i (x) will be zeroFor each x, most w i (x) will be zero –Fast computation: Need to know which... Evaluating F(x) will be costlyEvaluating F(x) will be costly –Need to minimize F(x) calls –Need to quickly determine where surface can NOT be –Need to minimize number of points contributing to x Need to minimize regions of influence (minimize r i !) ObservationsObservations Need position and normal for each point assume as givenNeed position and normal for each point assume as given Need radius of influence for each pointNeed radius of influence for each point For each x, most w i (x) will be zeroFor each x, most w i (x) will be zero –Fast computation: Need to know which... Evaluating F(x) will be costlyEvaluating F(x) will be costly –Need to minimize F(x) calls –Need to quickly determine where surface can NOT be –Need to minimize number of points contributing to x Need to minimize regions of influence (minimize r i !)
51
INFORMATIK 51 PBG05 – Stony Brook Graphics Week June 21, 2005 So: Why Interactive Point-based Ray Tracing ? Advantages of PBG in particular for ray tracers: Native point-based data (acquisition)Native point-based data (acquisition) Avoid tesselation … sure, makes sense.Avoid tesselation … sure, makes sense. And for native triangular models ?And for native triangular models ? Triangular model Point-based model PBRTTriangular model Point-based model PBRT –Does this make sense ? Advantages of PBG in particular for ray tracers: Native point-based data (acquisition)Native point-based data (acquisition) Avoid tesselation … sure, makes sense.Avoid tesselation … sure, makes sense. And for native triangular models ?And for native triangular models ? Triangular model Point-based model PBRTTriangular model Point-based model PBRT –Does this make sense ?
52
INFORMATIK 52 PBG05 – Stony Brook Graphics Week June 21, 2005 So: Why Interactive Point-based Ray Tracing ? Advantages of PBG in particular for ray tracers: Highly controversial issue amongst ray tracers Ray tracing is logarithmic in scene size, anywayRay tracing is logarithmic in scene size, anyway –Don‘t need point-based multiresolution capabilities Triangles very well suited for fast ray tracingTriangles very well suited for fast ray tracing –How to (efficiently) intersect points ? Triangles: well-defined surfaceTriangles: well-defined surface –How to consistently intersect points ? –In particular for secondary rays shadow ray has to see exactly the same surface –Sampling: Loss of information ? Many new problems, PBG advantages over rast. don‘t apply… Where are the advantages ? Advantages of PBG in particular for ray tracers: Highly controversial issue amongst ray tracers Ray tracing is logarithmic in scene size, anywayRay tracing is logarithmic in scene size, anyway –Don‘t need point-based multiresolution capabilities Triangles very well suited for fast ray tracingTriangles very well suited for fast ray tracing –How to (efficiently) intersect points ? Triangles: well-defined surfaceTriangles: well-defined surface –How to consistently intersect points ? –In particular for secondary rays shadow ray has to see exactly the same surface –Sampling: Loss of information ? Many new problems, PBG advantages over rast. don‘t apply… Where are the advantages ?
53
INFORMATIK 53 PBG05 – Stony Brook Graphics Week June 21, 2005 Q1: Why Ray Tracing Impact of Shadows and Reflections: ExampleImpact of Shadows and Reflections: Example
54
INFORMATIK 54 PBG05 – Stony Brook Graphics Week June 21, 2005 Motivation: Why Point-based Rendering ? Point-based models become commonplacePoint-based models become commonplace Acquisition: Almost all models are point cloudsAcquisition: Almost all models are point clouds –Direct PBR simplifies 3D processing pipeline Today: Acquisition triangulation rendering Direct PBR: Get rid of (non-trivial) triangulation Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling –Multiresolution, no connectivity/topology, much simpler,… Point-based models become commonplacePoint-based models become commonplace Acquisition: Almost all models are point cloudsAcquisition: Almost all models are point clouds –Direct PBR simplifies 3D processing pipeline Today: Acquisition triangulation rendering Direct PBR: Get rid of (non-trivial) triangulation Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling –Multiresolution, no connectivity/topology, much simpler,…
55
INFORMATIK 55 PBG05 – Stony Brook Graphics Week June 21, 2005 Motivation: Why Point-based Rendering ? Point-based models become commonplacePoint-based models become commonplace Acquisition: Almost all models are point cloudsAcquisition: Almost all models are point clouds –Direct PBR simplifies 3D processing pipeline Today: Acquisition triangulation rendering Direct PBR: Get rid of (non-trivial) triangulation Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling –Multiresolution, no connectivity/topology, much simpler,… But – Why point-based ray tracing ?But – Why point-based ray tracing ? Actually, two different questions:Actually, two different questions: –Q1: Why ray tracing for point-based models ? –Q2: Why point-based approach to ray tracing ? Point-based models become commonplacePoint-based models become commonplace Acquisition: Almost all models are point cloudsAcquisition: Almost all models are point clouds –Direct PBR simplifies 3D processing pipeline Today: Acquisition triangulation rendering Direct PBR: Get rid of (non-trivial) triangulation Plus: Increasing use in rendering/modellingPlus: Increasing use in rendering/modelling –Multiresolution, no connectivity/topology, much simpler,… But – Why point-based ray tracing ?But – Why point-based ray tracing ? Actually, two different questions:Actually, two different questions: –Q1: Why ray tracing for point-based models ? –Q2: Why point-based approach to ray tracing ?
56
INFORMATIK 56 PBG05 – Stony Brook Graphics Week June 21, 2005 Outline MotivationMotivation Why point based ray tracingWhy point based ray tracing Our approachOur approach Thin rays vs thick raysThin rays vs thick rays Fast traversal and intersectionFast traversal and intersection ResultsResults Summary and Future WorkSummary and Future Work MotivationMotivation Why point based ray tracingWhy point based ray tracing Our approachOur approach Thin rays vs thick raysThin rays vs thick rays Fast traversal and intersectionFast traversal and intersection ResultsResults Summary and Future WorkSummary and Future Work
57
INFORMATIK 57 PBG05 – Stony Brook Graphics Week June 21, 2005 How to ray trace PB models ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How sensitive is the procedure to exact form of beam ? E.g., what if the beam were traced a little bit further ? Alternative 1: Growing raysAlternative 1: Growing rays Many un-answered questionsMany un-answered questions –Where exactly is the hit point ? –How sensitive is the procedure to exact form of beam ? E.g., what if the beam were traced a little bit further ? Hitpoint position ? Position A points gathered by beam Same surface ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.