Interactive Rendering
 of Complex 3D-Treemaps
Matthias Trapp, Sebastian Schmechel, Jürgen Döllner

Hasso-Plattner-Institute, University of Potsdam, Germany
Agenda

             I.   Motivation

             II. Conceptual Overview

             III. Implementation Details

             IV. Results & Discussion

             V. Future Work & Conclusions


02/22/2013             Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   2
SECTION I

Motivation
3D Treemap Example




02/22/2013   Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   4
Related Work
   2D Treemaps [Shneiderman ’92, Bederson ’02]:
         Common technique for space restricted hierarchy
          visualization
         Various layouting algorithms available


   3D Treemap / StepTree [Bladh, 2004]
         Can be used to map additional attributes of the data items
         Significantly better performance in interpreting the
          hierarchical structure
         Preserve performance in interpretational/navigational
          tasks


02/22/2013              Rendering of Complex 3D Treemaps :: Matthias Trapp   5
Image-Synthesis of a 3D Treemap

                    Computation of 2D Treemap Layout



                Mapping of Thematic Data to Treemap Items



                   Generation of 3D Rendering Primitives



             Rendering/Rasterization of 3D Rendering Primitives

02/22/2013                Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   6
3D Treemap >600k Items




02/22/2013   Rendering of Complex 3D Treemaps :: Matthias Trapp   7
3D Treemap Item

  Additional dimension =
    additional complexity




   Observation: 3D treemap = 2.5D virtual
    environment
   3-5 times more geometry required than 2D case
   Attributes for thematic mappings vary per item
   Number of items determines update performance
02/22/2013        Rendering of Complex 3D Treemaps :: Matthias Trapp   8
Challenges for Complex 3D Treemaps
  3D Treemap ~ geometrical complex
    representation:
   High memory footprint in VRAM
   High run-time complexity for item updates
   High run-time complexity for layout

  Efficient rendering depends on/is determined by:
   Rendering run-time complexity
   Update run-time complexity
   Client/Server memory consumption/space
    complexity

   Goal: Reduction ofComplex 3D Treemaps :: Matthias Trapp complexity
02/22/2013       Rendering of space and time                             9
SECTION II

Conceptual Overview
Treemap Item :: Parameterization
   Goals:
        1. Provide a small-as-possible memory footprint on client
        2. Support fast client-server updates
   Layout-dependent attributes:
         2D item position & size (X, Y, W, H)
   Mapping-dependent attributes:
            Item color & item identity (R, G, B, ID)
            Item depth & Z-position (D, Z)
            Hierarchy Level (L)
            Binary flags, e.g., isLeaf, isVisible, isSelected,… (F)


02/22/2013                  Rendering of Complex 3D Treemaps :: Matthias Trapp   11
Treemap Item :: Buffer Mapping




  Assumption:
   mapping and layout are often modified separately
       Two separate buffers: layout and mapping buffer
       Can be updated separately and saves bandwidth
02/22/2013          Rendering of Complex 3D Treemaps :: Matthias Trapp   12
Approach :: Overview




  Three-stage deferred rendering process:
  1. Generate and render attributed point cloud
  2. Generate primitives & rasterize to G-Buffer (1 pass)
  3. Apply post-processing techniques (1 pass)

02/22/2013         Rendering of Complex 3D Treemaps :: Matthias Trapp   13
Approach :: Attributed Point Cloud




02/22/2013   Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   14
Approach :: Generated Primitives




02/22/2013   Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   15
Approach :: Thematic Mapping




02/22/2013   Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   16
Approach :: Post Processing




02/22/2013   Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   17
Approach :: Summary




   Fully GPU accelerated shape generation
   Render attributed point cloud and generate triangles
   Enables a compact representation of treemaps


02/22/2013         Rendering of Complex 3D Treemaps :: Matthias Trapp   18
SECTION III

Implementation Details
Primitive Template




   Optimal GPU representation: 8 vertices + 12 indices
   Format: triangle-strip without swaps
   Omit bottom face of treemap item

02/22/2013        Rendering of Complex 3D Treemaps :: Matthias Trapp   20
Emitter Function




02/22/2013     Rendering of Complex 3D Treemaps :: Matthias Trapp   21
Culling Strategies
   Backface Culling:
         Goal: omit rasterization of back-facing primitives
         Performed using fixed-function pipeline feature
         Overhead if performed in geometry shader

   View-frustum Culling:
         Goal: omit shape generation for items outside the frustum
         Performed per-item in vertex shader

   Size Culling:
         Goal: omit rasterization of small treemap items
         Performed per-item in vertex shader

02/22/2013               Rendering of Complex 3D Treemaps :: Matthias Trapp   22
Size–Culling using a Screen-Space Metric




     a       max p0 x ,, p7 x       min p0 x ,, p7 x          b     max p0 y ,, p7 y    min p0 y ,, p7 y
                                 true   a b
     passSizeCulling
                                 false otherwise


02/22/2013                            Rendering of Complex 3D Treemaps :: Matthias Trapp                       23
Culling Implementation
             bool passCulling(const in mat4 mvp, const in vec4 vertex, const in vec4 dimensions,
                              const in bool applyViewFrustumCulling, const in bool applySizeCulling)
             { float cPMaxX=-10000.0;float cPMinX=10000.0;float cPMaxY=-10000.0;float cPMinY=10000.0;
               bool passCulling = true;
               if(useViewFrustumCulling)
               { // 1. Do conservative culling and test only center of item
                 vec4 V = mvp * vertex;
                 passCulling=((-V.w<V.x)&&(V.x<V.w))&&((-V.w<V.y)&&(V.y<V.w))&&((-V.w<V.z)&&(V.z<V.w));
                 if(!passCulling)
                 { // 2. Perform precise culling if item center is not in frustum
                   vec4 AABB[8];
                   for (int i = 0; i < 8; i++){
                     AABB[i] = mvp * (vertex + VERTEX[i] * dimensions);
                     vec4 p = AABB[i] / AABB[i].w;
                     p.xy = (p.xy + 1.0) * (viewport.zw * 0.5) + viewport.xy;
                     cPMaxX = max(cPMaxX, p.x); cPMinX = min(cPMinX, p.x);
                     cPMaxY = max(cPMaxY, p.y); cPMinY = min(cPMinY, p.y);
                   } //endfor
                   // 2. Perform precise culling if item center is not in frustum
                   int bounds[6] = int[6](0,0,0,0,0,0);
                   for(int i = 0; i < 8; i++){
                     if(AABB[i].x>AABB[i].w) bounds[0]++; if(AABB[i].x<-AABB[i].w) bounds[1]++;
                     if(AABB[i].y>AABB[i].w) bounds[2]++; if(AABB[i].y<-AABB[i].w) bounds[3]++;
                     if(AABB[i].z>AABB[i].w) bounds[4]++; if(AABB[i].z<-AABB[i].w) bounds[5]++;
                   }//endfor
                   for(int i = 0; i < 6; i++) if(bounds[i]==8) passCulling = false;
                 }//endif }//endif
                 // 3. Apply size culling if enable to every visible item
                 if(passCulling && applyViewFrustumCulling && useSizeCulling)
                     passCulling = ((abs(cPMaxX)-abs(cPMinX))*(abs(cPMaxY)-abs(cPMinY)))
                       > float(pixelSizeThreshold);
                 return passCulling;
             }



02/22/2013                         Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp         24
Deferred Stylization :: Overview




   Performed in post-processing: low per-fragment cost
   Can be customized to user demands/rendering
    speed
   Rendering overhead: ca. 1-3 ms @ 720p
02/22/2013        Rendering of Complex 3D Treemaps :: Matthias Trapp   25
Deferred Stylization :: Variances




02/22/2013    Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   26
SECTION IV

Results & Discussion
Comparison of Approaches




  Difference: Geometry generation on CPU vs. GPU

  Utilized stage/approach has impact on:
   Bandwidth required (CPU  GPU)
   Main (CPU) and video (GPU) memory footprints
   Number of draw calls issued

02/22/2013     Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   28
Existing Approaches
 Vertex Buffer Objects (VBO):
      Generate geometry for each treemap item
       client-side (CPU) and push to server (GPU)
      Index variant has low memory footprint and
       leverage post-transform cache (~32 vertices)
      CPU bound for frequent treemap updates
 Geometry Instancing (Pseudo, UBO, TBO)
 Encoding of per-instance-data (PID) is bottleneck:
         Pseudo-Instancing: encode PID in shader constant
           registers
         Uniform-Buffer Instancing: encode PID to L1-Cache
           (~64K)
         Texture-Buffer Instancing:3Dencode PID to texture
02/22/2013               Rendering of Complex Treemaps :: Matthias Trapp   29
Rendering Performance
                  GPU: NVIDIA GTX 460 / CPU: Intel Xeon 2,79GHz
                  250




                  200




                  150
 milliseconds




                  100




                   50




                    0
                                               Pseudo               UBO              TBO            Indexed    Non-Indexed   Intermediate
                          Shape Generation
                                             Instancing          Instancing       Instancing          VBO         VBO            Mode
                13.884          0.38           1.68                1.47             1.49             0.63         1.37          5.12
                98.858          1.75           6.28                4.01             4.01             3.42         8.67          35.45
                365.645         6.15           27.49               15.91            14.93            12.57        32.35        133.05
                614.920        14.76           60.88               31.12            31.51            28.46        54.71        220.01


02/22/2013                                                Rendering of Complex 3D Treemaps :: Matthias Trapp                                30
Memory Footprint :: Metric




   #Bytes for n treemap items with a attributes
   compression ratios for VRAM consumption:
         1:2.5 over indexed vertex representations
         1:3.75 over non-index vertex representations


02/22/2013            Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   31
Memory Footprint :: Results
                     1E+09

                 10000000

                 10000000

                  1000000

                   100000
   byte




                     10000

                        1000

                         100

                           10

                           1
                                  CPU                 GPU            CPU                 GPU        CPU             GPU       CPU             GPU
                                           13.884                             98.858                      365.645                   614.920
          Shape Generation      444288              444368          3163456            3163536    11700640      11700640    19677440      19677520
          Pseudo Instancing     444368              444368          3163536            3163536    11700640      11700640    19677520      19677520
          UBO Instancing        444368              444368          3163536            3163536    11700640      11700640    19677520      19677520
          TBO Instancing        444368              444368          3163536            3163536    11700640      11700640    19677520      19677520
          Indexed VBO           1999296             1555008        14235552            11072096   52652880      40952240    88548480      68871040
          Non-Indexed VBO       15439008            14994720       109930096       106766640      406597240     394896600   683791040     664113600
          Intermediate Mode     444288                 0            3163456               0       11700640           0      19677440           0



02/22/2013                                                 Rendering of Complex 3D Treemaps :: Matthias Trapp                                         32
Discussion
   Outperforms all existing rendering techniques:
            Pseudo & UBO Instancing are CPU bound
            TBO instancing is bound by L2-Cache performance
            VBOs probably transform bound
            Indexed VBO leverage post-transform cache
            Generation and instancing have similar memory footprint
            All approaches are not fill-limited


   Theoretical limits of the presented approach:
         ~2.5 million 3D treemap items at ~20 frames-per-second
         Equals 1 pixel-per-item at full HD resolution (1920x1080)

02/22/2013                 Rendering of Complex 3D Treemaps :: Matthias Trapp   33
SECTION V

Future Work & Conclusions
Future Work :: Reduce Overdraw

   high overdraw   low overdraw




02/22/2013           Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   35
Future Work :: Reduce Overdraw


         Independent Representation                            Interdependent Representation

  A                                                       B



                                                                                           L2
                                                 Item Origin


                                                                                                L1

                                                                                                     L0

             Unnecessary Item Overdraw                            L ~ Hierachy Level of Item




02/22/2013                Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp                  36
Future Work :: Improve Readability




02/22/2013    Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   37
Future Work :: Concept Transfer




02/22/2013     Rendering of Complex 3D Treemaps :: Matthias Trapp   38
Future Work :: Summary
  Foundation for advanced visualization techniques:
   Animated transition between 3D treemap states
   Application of interactive focus+context lenses
   Multi-perspective views of 3D treemaps

  Generalize approach for other treemap types:
   3D Voronoi treemaps
   Classical 2D (Voronoi) treemaps



02/22/2013       Rendering of Complex 3D Treemaps :: Matthias Trapp   39
Conclusions
   Rendering technique for complex 3D treemaps

   Outperforms existing approaches w.r.t.:
         Rendering speed
         Memory requirements (client & server)

   Building block for GPU framework for 3D treemaps

   Stylization possibilities are limited (e.g.
    ,transparency)

   Potentials for future work

02/22/2013           Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp   40
Questions & Comments
  Contact:
    www.4dndvis.de

   Matthias Trapp
      matthias.trapp@hpi.uni-potsdam.de
   Sebastian Schmechel
      sebastian.schmechel@hpi.uni-potsdam.de
   Jürgen Döllner
      juergen.doellner@hpi.uni-potsdam.de


  Publications:
      http://www.hpi.uni-potsdam.de/doellner/4dndvis/publikationen.html



      This work was funded by the Federal Ministry of Education and Research
    (BMBF), Germany within the InnoProfile Transfer research group "4DnD-Vis".


07/23/2012                       Rendering of Complex 3D Treemaps :: Matthias Trapp   41

Rendering of Complex 3D Treemaps (GRAPP 2013)

  • 1.
    Interactive Rendering ofComplex 3D-Treemaps Matthias Trapp, Sebastian Schmechel, Jürgen Döllner Hasso-Plattner-Institute, University of Potsdam, Germany
  • 2.
    Agenda I. Motivation II. Conceptual Overview III. Implementation Details IV. Results & Discussion V. Future Work & Conclusions 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 2
  • 3.
  • 4.
    3D Treemap Example 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 4
  • 5.
    Related Work  2D Treemaps [Shneiderman ’92, Bederson ’02]:  Common technique for space restricted hierarchy visualization  Various layouting algorithms available  3D Treemap / StepTree [Bladh, 2004]  Can be used to map additional attributes of the data items  Significantly better performance in interpreting the hierarchical structure  Preserve performance in interpretational/navigational tasks 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 5
  • 6.
    Image-Synthesis of a3D Treemap Computation of 2D Treemap Layout Mapping of Thematic Data to Treemap Items Generation of 3D Rendering Primitives Rendering/Rasterization of 3D Rendering Primitives 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 6
  • 7.
    3D Treemap >600kItems 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 7
  • 8.
    3D Treemap Item Additional dimension = additional complexity  Observation: 3D treemap = 2.5D virtual environment  3-5 times more geometry required than 2D case  Attributes for thematic mappings vary per item  Number of items determines update performance 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 8
  • 9.
    Challenges for Complex3D Treemaps 3D Treemap ~ geometrical complex representation:  High memory footprint in VRAM  High run-time complexity for item updates  High run-time complexity for layout Efficient rendering depends on/is determined by:  Rendering run-time complexity  Update run-time complexity  Client/Server memory consumption/space complexity  Goal: Reduction ofComplex 3D Treemaps :: Matthias Trapp complexity 02/22/2013 Rendering of space and time 9
  • 10.
  • 11.
    Treemap Item ::Parameterization  Goals: 1. Provide a small-as-possible memory footprint on client 2. Support fast client-server updates  Layout-dependent attributes:  2D item position & size (X, Y, W, H)  Mapping-dependent attributes:  Item color & item identity (R, G, B, ID)  Item depth & Z-position (D, Z)  Hierarchy Level (L)  Binary flags, e.g., isLeaf, isVisible, isSelected,… (F) 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 11
  • 12.
    Treemap Item ::Buffer Mapping Assumption: mapping and layout are often modified separately  Two separate buffers: layout and mapping buffer  Can be updated separately and saves bandwidth 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 12
  • 13.
    Approach :: Overview Three-stage deferred rendering process: 1. Generate and render attributed point cloud 2. Generate primitives & rasterize to G-Buffer (1 pass) 3. Apply post-processing techniques (1 pass) 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 13
  • 14.
    Approach :: AttributedPoint Cloud 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 14
  • 15.
    Approach :: GeneratedPrimitives 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 15
  • 16.
    Approach :: ThematicMapping 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 16
  • 17.
    Approach :: PostProcessing 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 17
  • 18.
    Approach :: Summary  Fully GPU accelerated shape generation  Render attributed point cloud and generate triangles  Enables a compact representation of treemaps 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 18
  • 19.
  • 20.
    Primitive Template  Optimal GPU representation: 8 vertices + 12 indices  Format: triangle-strip without swaps  Omit bottom face of treemap item 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 20
  • 21.
    Emitter Function 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 21
  • 22.
    Culling Strategies  Backface Culling:  Goal: omit rasterization of back-facing primitives  Performed using fixed-function pipeline feature  Overhead if performed in geometry shader  View-frustum Culling:  Goal: omit shape generation for items outside the frustum  Performed per-item in vertex shader  Size Culling:  Goal: omit rasterization of small treemap items  Performed per-item in vertex shader 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 22
  • 23.
    Size–Culling using aScreen-Space Metric a max p0 x ,, p7 x min p0 x ,, p7 x b max p0 y ,, p7 y min p0 y ,, p7 y true a b passSizeCulling false otherwise 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 23
  • 24.
    Culling Implementation bool passCulling(const in mat4 mvp, const in vec4 vertex, const in vec4 dimensions, const in bool applyViewFrustumCulling, const in bool applySizeCulling) { float cPMaxX=-10000.0;float cPMinX=10000.0;float cPMaxY=-10000.0;float cPMinY=10000.0; bool passCulling = true; if(useViewFrustumCulling) { // 1. Do conservative culling and test only center of item vec4 V = mvp * vertex; passCulling=((-V.w<V.x)&&(V.x<V.w))&&((-V.w<V.y)&&(V.y<V.w))&&((-V.w<V.z)&&(V.z<V.w)); if(!passCulling) { // 2. Perform precise culling if item center is not in frustum vec4 AABB[8]; for (int i = 0; i < 8; i++){ AABB[i] = mvp * (vertex + VERTEX[i] * dimensions); vec4 p = AABB[i] / AABB[i].w; p.xy = (p.xy + 1.0) * (viewport.zw * 0.5) + viewport.xy; cPMaxX = max(cPMaxX, p.x); cPMinX = min(cPMinX, p.x); cPMaxY = max(cPMaxY, p.y); cPMinY = min(cPMinY, p.y); } //endfor // 2. Perform precise culling if item center is not in frustum int bounds[6] = int[6](0,0,0,0,0,0); for(int i = 0; i < 8; i++){ if(AABB[i].x>AABB[i].w) bounds[0]++; if(AABB[i].x<-AABB[i].w) bounds[1]++; if(AABB[i].y>AABB[i].w) bounds[2]++; if(AABB[i].y<-AABB[i].w) bounds[3]++; if(AABB[i].z>AABB[i].w) bounds[4]++; if(AABB[i].z<-AABB[i].w) bounds[5]++; }//endfor for(int i = 0; i < 6; i++) if(bounds[i]==8) passCulling = false; }//endif }//endif // 3. Apply size culling if enable to every visible item if(passCulling && applyViewFrustumCulling && useSizeCulling) passCulling = ((abs(cPMaxX)-abs(cPMinX))*(abs(cPMaxY)-abs(cPMinY))) > float(pixelSizeThreshold); return passCulling; } 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 24
  • 25.
    Deferred Stylization ::Overview  Performed in post-processing: low per-fragment cost  Can be customized to user demands/rendering speed  Rendering overhead: ca. 1-3 ms @ 720p 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 25
  • 26.
    Deferred Stylization ::Variances 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 26
  • 27.
  • 28.
    Comparison of Approaches Difference: Geometry generation on CPU vs. GPU Utilized stage/approach has impact on:  Bandwidth required (CPU  GPU)  Main (CPU) and video (GPU) memory footprints  Number of draw calls issued 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 28
  • 29.
    Existing Approaches VertexBuffer Objects (VBO):  Generate geometry for each treemap item client-side (CPU) and push to server (GPU)  Index variant has low memory footprint and leverage post-transform cache (~32 vertices)  CPU bound for frequent treemap updates Geometry Instancing (Pseudo, UBO, TBO) Encoding of per-instance-data (PID) is bottleneck:  Pseudo-Instancing: encode PID in shader constant registers  Uniform-Buffer Instancing: encode PID to L1-Cache (~64K)  Texture-Buffer Instancing:3Dencode PID to texture 02/22/2013 Rendering of Complex Treemaps :: Matthias Trapp 29
  • 30.
    Rendering Performance GPU: NVIDIA GTX 460 / CPU: Intel Xeon 2,79GHz 250 200 150 milliseconds 100 50 0 Pseudo UBO TBO Indexed Non-Indexed Intermediate Shape Generation Instancing Instancing Instancing VBO VBO Mode 13.884 0.38 1.68 1.47 1.49 0.63 1.37 5.12 98.858 1.75 6.28 4.01 4.01 3.42 8.67 35.45 365.645 6.15 27.49 15.91 14.93 12.57 32.35 133.05 614.920 14.76 60.88 31.12 31.51 28.46 54.71 220.01 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 30
  • 31.
    Memory Footprint ::Metric  #Bytes for n treemap items with a attributes  compression ratios for VRAM consumption:  1:2.5 over indexed vertex representations  1:3.75 over non-index vertex representations 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 31
  • 32.
    Memory Footprint ::Results 1E+09 10000000 10000000 1000000 100000 byte 10000 1000 100 10 1 CPU GPU CPU GPU CPU GPU CPU GPU 13.884 98.858 365.645 614.920 Shape Generation 444288 444368 3163456 3163536 11700640 11700640 19677440 19677520 Pseudo Instancing 444368 444368 3163536 3163536 11700640 11700640 19677520 19677520 UBO Instancing 444368 444368 3163536 3163536 11700640 11700640 19677520 19677520 TBO Instancing 444368 444368 3163536 3163536 11700640 11700640 19677520 19677520 Indexed VBO 1999296 1555008 14235552 11072096 52652880 40952240 88548480 68871040 Non-Indexed VBO 15439008 14994720 109930096 106766640 406597240 394896600 683791040 664113600 Intermediate Mode 444288 0 3163456 0 11700640 0 19677440 0 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 32
  • 33.
    Discussion Outperforms all existing rendering techniques:  Pseudo & UBO Instancing are CPU bound  TBO instancing is bound by L2-Cache performance  VBOs probably transform bound  Indexed VBO leverage post-transform cache  Generation and instancing have similar memory footprint  All approaches are not fill-limited  Theoretical limits of the presented approach:  ~2.5 million 3D treemap items at ~20 frames-per-second  Equals 1 pixel-per-item at full HD resolution (1920x1080) 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 33
  • 34.
    SECTION V Future Work& Conclusions
  • 35.
    Future Work ::Reduce Overdraw high overdraw low overdraw 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 35
  • 36.
    Future Work ::Reduce Overdraw Independent Representation Interdependent Representation A B L2 Item Origin L1 L0 Unnecessary Item Overdraw L ~ Hierachy Level of Item 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 36
  • 37.
    Future Work ::Improve Readability 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 37
  • 38.
    Future Work ::Concept Transfer 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 38
  • 39.
    Future Work ::Summary Foundation for advanced visualization techniques:  Animated transition between 3D treemap states  Application of interactive focus+context lenses  Multi-perspective views of 3D treemaps Generalize approach for other treemap types:  3D Voronoi treemaps  Classical 2D (Voronoi) treemaps 02/22/2013 Rendering of Complex 3D Treemaps :: Matthias Trapp 39
  • 40.
    Conclusions Rendering technique for complex 3D treemaps  Outperforms existing approaches w.r.t.:  Rendering speed  Memory requirements (client & server)  Building block for GPU framework for 3D treemaps  Stylization possibilities are limited (e.g. ,transparency)  Potentials for future work 02/22/2013 Interactive Rendering of Complex 3D Treemaps :: Matthias Trapp 40
  • 41.
    Questions & Comments Contact: www.4dndvis.de  Matthias Trapp matthias.trapp@hpi.uni-potsdam.de  Sebastian Schmechel sebastian.schmechel@hpi.uni-potsdam.de  Jürgen Döllner juergen.doellner@hpi.uni-potsdam.de Publications: http://www.hpi.uni-potsdam.de/doellner/4dndvis/publikationen.html This work was funded by the Federal Ministry of Education and Research (BMBF), Germany within the InnoProfile Transfer research group "4DnD-Vis". 07/23/2012 Rendering of Complex 3D Treemaps :: Matthias Trapp 41

Editor's Notes

  • #5 Domain: Software Visualization- Different metricaremappedtothetreemaplayout, item sizeandcolor
  • #6 Squarified, Slice &amp; Dice, Strip, andVoronio
  • #7 Visualizationof massive datausing 3D treemapsFullyhardwareaccleratedlayoutingandrenderinginteractivefiltering,Animatedtransitions,Automatic generalizationoftreemaps
  • #8 Rendering Budget + Layouting Budget + Updata
  • #11 Nowletsfocus onthebasiccomponentsoftherenderingpipeline
  • #12 So what do we need to represented for an individual 3D treemap item?
  • #13 Based on thepreviousobservation,Row = Treemap item
  • #22 Thisgeometryshaderdepictstheshapegenerationprocess.
  • #23 As mostofyouknow, theapplicationofcullingstrategiesampliedtheperformanceof an redneringtechnique
  • #26 References
  • #30 Despite intermediate mode:
  • #31 CPU: Single threadedForothermachinespleaseread-up in thepaperThe rendering technique was tested using four datasets of different geometric complexity: 35.089,96.658, 365.645, and 614.929 items. The performancetests are conducted on three different test platformswith different GPU generations: (1) NVIDIAGeForce GTX 460 GPU with 1024MB video memoryon an Intel Xeon W3530 CPU with 2,8GHz and6GB of main memory; (2) NVIDIA GeForce GTX480 with 1.5GB video memory on an Intel XeonW3520 2.67GHz and 24GB of main memory; and (3)NVIDIA GeForce GTX 560 Ti with 2GB video memoryon an Intel Xeon W3550 3.07GHz and 6GB ofmainmemory.The test application runs in windowed mode athigh-definition resolution of 1280720 pixels. Thecomplete scene is visible in the view frustum, thusview-frustum culling is not applied. Further backfaceculling is activated and size culling is deactivated.For each rendering technique, a total of 5000consecutive frames are rendered and the respectiverun-time performance in milliseconds is tracked. Afterperformance tracking, all records are averaged. Todetermine to update performance, the time requiredbetween committing a new data set to the renderingtechniques and the next frames rendered is measuredin milliseconds. Styling is turned off to measure
  • #33 Logarithmicscale
  • #38 - Transfer conceptsofcartographicgeneralizationto 3D Treemaps