LCTS: Ray Shooting using Longest Common Traversal Sequences

342 Views

Download Presentation
## LCTS: Ray Shooting using Longest Common Traversal Sequences

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Computer Graphics Group**Department of Computer Science and Engineering http://www.cgg.cvut.cz LCTS: Ray Shooting using Longest Common Traversal Sequences Vlastimil Havran, Jiří Bittner havran@fel.cvut.cz Dept. of Computer ScienceCzech Technical Universityin Prague Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**Outline**1) Introduction (ray shooting, BSP tree) 2) Key Idea of LCTS 3) Simple LCTS 4) Hierarchical LCTS 5) Improvements for LCTS 6) Application and Results 7) Conclusions and Future Work Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**B**A C ray D 1) Introduction - ray shooting Given a ray, find out the first object intersected. Input: a scene and a ray Output: the object C Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**4**1 C 2 3 1 D A 2 A B 3 4 B C C D 1) Introduction to BSP trees - construction y x Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**L**R L R Left only Left, then right L R L R Right only Right, then left 1) Introduction to BSP trees - recursive ray traversal algorithm Interior node of BSP tree Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**4**1 2 3 1 R L 2 R L 3 4 B D ray Intersection found 1) Introduction to BSP trees - recursive ray traversal algorithm BSP tree: A B A y C R R C2 C1 Left | Right D Stack: x Left | Right 2 4 Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**1) Introduction to BSP trees -**Efficiency of ray shooting Total ray shooting time = time for ray-object intersection tests + time for ray traversal of BSP tree 1) Decreasing number of ray-object intersection tests 2) Faster ray-object intersection tests 3) Decreasing number of traversal steps 4) Faster traversal step Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**C**R2 R2: R1: 2 1 1 1 D R1 A B B B 2 2 2 A B y 3 3 3 1 3 A A C D x Ray origin 2) LCTS - MAIN IDEA Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**C**R2 Traversal History for R2: Traversal History for R1: R1, R2: 2 head head tail 1 D R1 B A B A B B A A 2 A B y tail 3 3 1 SLCTS(R1, R2): x head tail Ray origin 3) Simple LCTS = sequence of leaves Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**1**1 4 4 3 3 B A y R1 2 C B A y D 2 C R1 R2 x R2 D x 3) Simple LCTS - Problems 1) No common sequence of leaves exists. 2) When accessing SLCTS, object was not found, and traversal has to continue further. ; Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**C**Traversal History for R1: Traversal History for R2: 2 1(R,L) 1(R,L) 1 R2 2(L) 3(R,L) D D D B B B 2 A B y 3 R1 3 1 A C A C D x 2(R) 3(R,L) 4) Hierarchial LCTS Ray origin Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**1(R,L)**1(R,L) 1 2(L) 3(R,L) D B B 2 3 tail A A C D C 2(?) 2(R) 3(R,L) 4) Hierarchial LCTS - contd. Matching two traversal histories into common one: Traversal History for R1: B D Common Traversal History for all rays between R1 and R2: = HLCTS(R1, R2): Traversal History for R2: head B D Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**HLCTS2**R1 R3 R2 HLCTS1 4) Hierarchical LCTS - contd. 1) Matching traversal histories for two or more rays. 2) Matching traversal histories for rays with the previously constructed common traversal history. HLCTS1 - constructed from traversal history of R1 and R2 Ray R3 - traversal uses HLCTS1 HLCTS2 - constructed from HLCTS1 and traversal history of R3 Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**5) Further Improvements of LCTS concept**1) Unification of empty leaves. 2) Common termination object. 3) Initial leaf sequence. Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**D**5 B 4 R2 2 tail Simplified LCTS(R1,R2): R1 3 2(?) 1 head tail 2(?) 2(?) 5) Unification of empty leaves LCTS(R1,R2): head A y Ray origin = C x Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**Simplified LCTS(R1,R2):**head tail C R2 R1 More simplified LCTS(R1,R2): = tail head C 5) Termination object D 5 B A 4 Ray origin y 2 C 3 1 x Termination object must be convex ! Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**HLCTS2**R1 R3 R2 HLCTS1 5) Initial Leaf Sequence - only for HLCTS Use: For matching common traversal sequence with new traversal history of ray. How: Initial leaf nodes of HLCTS need not be matched, but they are copied only. Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**A**D 5 B B 4 A 2 y C 3 1 x 6) LCTS Application and Results Application - where rays exhibit similarities. 1) Hidden Surface Removal 2) Shooting between two patches. Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**ad 6) Application and Results - contd.**Hidden Surface Removal Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**SLCTS + scanline:**SLCTS + two dimensions: ad 6) Application and Results - contd. Hidden Surface Removal: four methods - use of SLCTS and HLCTS - using LCTS concept in one or two dimensions SLCTS SLCTS 5 7 6 SLCTS 1 SLCTS 2 1 2 5 6 15 16 13 3 4 8 9 17 7 18 19 20 10 11 12 21 22 14 3 4 Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**ad 6) Application and Results - contd.**- Number of traversal steps decreases typically by more than 60 %. - Time devoted to ray shooting decreases typically by 20 %. - Speedup achieved is scene and resolution dependent. Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**7) Conclusions and Further Work**- New concept of traversal coherence introduced. (not restricted to BSP tree only.) - SLCTS and HLCTS. - Hidden Surface Removal tested. Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**7) Further Work**- automatic setting of image resolution for SLCTS. - application for higher order rays in global illumination algorithms. - other image sampling patterns for HLCTS in hidden surface removal. - use of LCTS in rendering animation sequences. Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences**Acknowledgements:**- Eduard Groeller and Jan Prikryl from Vienna University of Technology. - Czech-Austrian scientific cooperation grant Aktion number 1999/17. - IGP company for partially sponsoring my visit here. Vlastimil Havran, Jiri Bittner: LCTS: Ray Shooting using Longest Common Traversal Sequences