1 PRISAD: A Partitioned Rendering Infrastructure for Scalable Accordion Drawing James Slack, Kristian Hildebrand, Tamara Munzner University of British.

Slides:



Advertisements
Similar presentations
1 TreeJuxtaposer side by side comparison of evolutionary trees.
Advertisements

SequenceJuxtaposer: Fluid Navigation For Large-Scale Sequence Comparison in Context James Slack *, Kristian Hildebrand *†, Tamara Munzner * and Katherine.
Inpainting Assigment – Tips and Hints Outline how to design a good test plan selection of dimensions to test along selection of values for each dimension.
Ray Tracing CMSC 635. Basic idea How many intersections?  Pixels  ~10 3 to ~10 7  Rays per Pixel  1 to ~10  Primitives  ~10 to ~10 7  Every ray.
Scalable Visualization with Accordion Drawing Tamara Munzner University of British Columbia Department of Computer Science joint work with James Slack,
Visibility Culling. Back face culling View-frustrum culling Detail culling Occlusion culling.
Scalability with many lights II (row-column sampling, visibity clustering) Miloš Hašan.
1 Scalable Visual Comparison of Biological Trees and Sequences Tamara Munzner University of British Columbia Department of Computer Science Imager.
1 Scalable Visual Comparison of Biological Trees and Sequences Tamara Munzner University of British Columbia Department of Computer Science Imager.
1 Information Visualization at UBC Tamara Munzner University of British Columbia.
MDSteer: Steerable and Progressive Multidimensional Scaling Matt Williams and Tamara Munzner University of British Columbia Imager Lab.
University of British Columbia Department of Computer Science Tamara Munzner Interactive Visualization of Evolutionary Trees and Gene Sequences February.
1 Information Visualization with Accordion Drawing Tamara Munzner University of British Columbia.
CSE332: Data Abstractions Lecture 10: More B-Trees Tyler Robison Summer
Composite Rectilinear Deformation for Stretch and Squish Navigation James Slack, Tamara Munzner University of British Columbia November 1, 2006 Imager.
Bounding Volume Hierarchy “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presented by Mathieu Brédif.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
A lion in the desert How do you find a lion in the desert? How about when you have a predicate that tells you if the lion is in front or behind a separating.
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
Large Scale Radial Graph Drawing Cody Robson. Graph Exploration Radial Layout: Constrains graph to rings User can shift focus to avoid panning.
1 Scalable Visual Comparison of Biological Trees and Sequences Tamara Munzner University of British Columbia Department of Computer Science Imager.
Introduction to Parallel Rendering: Sorting, Chromium, and MPI Mengxia Zhu Spring 2006.
A lion in the desert How do you find a lion in the desert? How about when you have a predicate that tells you if the lion is in front or behind a separating.
Partitioned Rendering Infrastructure with Stable Accordion Navigation James Slack MSc Thesis Presentation April 4, 2005.
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
Hidden Surface Removal
1 B-Trees Section AVL (Adelson-Velskii and Landis) Trees AVL tree is binary search tree with balance condition –To ensure depth of the tree is.
Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. A General Algorithm for Output- Sensitive.
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
10/09/2001CS 638, Fall 2001 Today Spatial Data Structures –Why care? –Octrees/Quadtrees –Kd-trees.
1 SD-Rtree: A Scalable Distributed Rtree Witold Litwin & Cédric du Mouza & Philippe Rigaux.
The Visibility Problem In many environments, most of the primitives (triangles) are not visible most of the time –Architectural walkthroughs, Urban environments.
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
The X-Tree An Index Structure for High Dimensional Data Stefan Berchtold, Daniel A Keim, Hans Peter Kriegel Institute of Computer Science Munich, Germany.
Trevor Brown – University of Toronto B-slack trees: Space efficient B-trees.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Introduction to Parallel Rendering Jian Huang, CS 594, Spring 2002.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
Saarland University, Germany B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek.
Click to edit Master title style HCCMeshes: Hierarchical-Culling oriented Compact Meshes Tae-Joon Kim 1, Yongyoung Byun 1, Yongjin Kim 2, Bochang Moon.
Interactive Rendering With Coherent Ray Tracing Eurogaphics 2001 Wald, Slusallek, Benthin, Wagner Comp 238, UNC-CH, September 10, 2001 Joshua Stough.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
112/5/ :54 Graphics II Image Based Rendering Session 11.
Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful Jiri Bittner 1, Michael Wimmer 1, Harald Piringer 2, Werner Purgathofer 1 1 Vienna.
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
Hierarchical Occlusion Map Zhang et al SIGGRAPH 98.
David Luebke 3/5/2016 Advanced Computer Graphics Lecture 4: Faster Ray Tracing David Luebke
CHC ++: Coherent Hierarchical Culling Revisited Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
An Evaluation of Pan & Zoom and Rubber Sheet Navigation with and without an Overview Dmitry Nekrasovski, Adam Bodnar, Joanna McGrenere, François Guimbretière,
Spatial Data Management

CSE 554 Lecture 5: Contouring (faster)
Bounding Volume Hierarchies and Spatial Partitioning
Real-Time Soft Shadows with Adaptive Light Source Sampling
Bounding Volume Hierarchies and Spatial Partitioning
So far we have covered … Basic visualization algorithms
Real-Time Ray Tracing Stefan Popov.
3D Object Representations
Orthogonal Range Searching and Kd-Trees
Spatial Online Sampling and Aggregation
Scalable Visual Comparison of Biological Trees and Sequences
Presentation transcript:

1 PRISAD: A Partitioned Rendering Infrastructure for Scalable Accordion Drawing James Slack, Kristian Hildebrand, Tamara Munzner University of British Columbia Imager

2 Accordion Drawing (AD) Rubber-sheet navigation –Stretch part of surface, the rest squishes –Borders nailed down –A Focus+Context technique [Robertson et al 1991][Sarkar et al 1993] Guaranteed visibility –Marks always visible –Important for scalability [Munzner et al 2003]

3 PRITree

4 PRITree: InfoVis Contest Dataset

5 PRISeq

6 Guaranteed Visibility Marks are always visible Easy with small datasets

7 Guaranteed Visibility Challenges Hard with larger datasets A mark could be invisible –Outside the window Solution: constrained navigation –Underneath other marks Solution: avoid 3D –Smaller than a pixel Solution: smart culling

8 Guaranteed Visibility: Small Items Naïve culling may not draw all marked items GVno GV Guaranteed visibility of marks No guaranteed visibility

9 Guaranteed Visibility: Small Items Naïve culling may not draw all marked items GVno GV Guaranteed visibility of marks No guaranteed visibility

10 Related Work TreeJuxtaposer –Side-by-side tree comparison –First AD application –Up to 500k tree nodes [Munzner et al. 2003] SequenceJuxtaposer –DNA sequence comparison –Pre-aligned A,C,G,T data –Up to 2M nucleotides [Slack et al. 2004]

11 Related Work TJC/TJC-Q –Scalability Up to 15 million node trees Rendering in under 0.3 seconds TJC: hardware supported picking –Limitations Non-generic: AD inseparable from tree Poor performance on bushy trees No support for multiple-tree comparison [Beermann et al. 2005]

12 Goals of PRISAD Generic AD infrastructure –Tree and sequence applications PRITree is TreeJuxtaposer using PRISAD PRISeq is SequenceJuxtaposer using PRISAD Efficiency –Faster rendering: minimize overdrawing –Smaller memory footprint Correctness –Rendering with no gaps: eliminate overculling

13 PRISAD Navigation Generic navigation infrastructure –Application independent –Uses deformable grid –Split lines Grid lines define object boundaries –Horizontal and vertical separate Independently movable As in TJC

14 Split line hierarchy Data structure supports navigation, picking, drawing Two interpretations –Linear ordering –Hierarchical subdivision ABCDEF

15 PRISAD Architecture World-space discretization Preprocessing Initializing data structures Placing geometry Screen-space rendering Frame updating Analyzing navigation state Drawing geometry

16 World-space Discretization Interplay between infrastructure and application

Application-specific layout of dataset –Non-overlapping objects Initialize PRISAD split line hierarchies –Objects aligned by split lines Laying Out & Initializing AACC ATTT

18 Gridding Each geometric object assigned its four encompassing split line boundaries AACC ATTT

19 Mapping PRITree mapping initializes leaf references –Bidirectional O(1) reference between leaves and split lines Map Split line Leaf index

20 Screen-space Rendering Control flow to draw each frame

21 Partitioning Partition object set into bite-sized ranges –Using current split line screen-space positions Required for every frame –Subdivision stops if region smaller than 1 pixel Or if range contains only 1 object [1,2] [3,4] [5] { [1,2], [3,4], [5] } Queue of ranges

22 Seeding Reordering range queue result from partition –Marked regions get priority in queue Drawn first to provide landmarks [1,2] [3,4] [5] { [1,2], [3,4], [5] } { [3,4], [5], [1,2] } Ordered queue

23 Drawing Single Range Each enqueued object range drawn according to application geometry –Selection for trees –Aggregation for sequences

24 PRITree Range Drawing Select suitable leaf in each range Draw path from leaf to the root –Ascent-based tree drawing –Efficiency: minimize overdrawing Only draw one path per range [3,4] { [3,4], [5], [1,2] }

25 Rendering Dense Regions –Correctness: eliminate overculling Bad leaf choices would result in misleading gaps –Efficiency: maximize partition size to reduce rendering Too much reduction would result in gaps Intended renderingPartition size too big

26 Rendering Dense Regions –Correctness: eliminate overculling Bad leaf choices would result in misleading gaps –Efficiency: maximize partition size to reduce rendering Too much reduction would result in gaps Intended renderingPartition size too big

27 PRITree Skeleton Guaranteed visibility of marked subtrees during progressive rendering First frame: one path per marked group Full scene: entire marked subtrees

28 PRISeq Range Drawing: Aggregation Aggregate range to select box color for each sequence –Random select to break ties AACC ATTT [1,4] A T TTT C T

29 PRISeq Range Drawing Collect identical nucleotides in column –Form single box to represent identical objects Attach to split line hierarchy cache Lazy evaluation Draw vertical column A T T T A { A:[1,1], T:[2,3] } 1 2 3

30 PRISAD Performance PRITree vs. TreeJuxtaposer (TJ) Synthetic and real datasets –Complete binary trees Lowest branching factor Regular structure –Star trees Highest possible branching factor

31 InfoVis Contest Benchmarks Two 190k node trees Directly compare TJ and PT

32 OpenDirectory benchmarks Two 480k node trees Too large for TJ

33 PRITree Rendering Time Performance TreeJuxtaposer renders all nodes for star trees Branching factor k leads to O(k) performance InfoVis 2003 Contest dataset 5x rendering speedup A closer look at the fastest rendering times

34 PRITree handles 4 million nodes in under 0.4 seconds TreeJuxtaposer takes twice as long to render 1 million nodes Detailed Rendering Time Performance TreeJuxtaposer valley from overculling

35 Memory Performance 1GB difference for InfoVis contest comparison Marked range storage changes improve scalability Linear memory usage for both applications 4-5x more efficient for synthetic datasets

36 Performance Comparison PRITree vs. TreeJuxtaposer –Detailed benchmarks against identical TJ functionality 5x faster, 8x smaller footprint PRITree vs. TJC/TJC-Q –TJC on exotic HW: 4x smaller, 2x faster –TJC-Q on commodity HW: same size, no speed given –Both mostly tested on balanced binary trees Unlimited overdrawing possible in bushy areas vs. PT bound PRISeq vs. SequenceJuxtaposer (SJ) –15x rendering speedup –20x improvement in memory footprint

37 Future Work Future work –Editing and annotating datasets –PRISAD support for application specific actions Logging, replay, undo, other user actions –Develop process or template for building applications

38 Conclusions PRISAD infrastructure for efficient, correct, and generic accordion drawing Efficient and correct rendering –Screen-space partitioning tightly bounds overdrawing and eliminates overculling First generic AD infrastructure –PRITree renders 5x faster than TJ –PRISeq renders 20x larger datasets than SJ

39 More Information Software, papers, videos – PRITree and PRISeq Requires Java, OpenGL