BBB Computer Graphics Systems Group, Hasso-Plattner Institute, University of Potsdam, A Generalization Approach for 3D Vie...
Outline <ul><ul><li> Introduction & Basic Concepts </li></ul></ul><ul><ul><li> Generalization Concept </li></ul></ul><...
Mission: Unified Rendering Technique <ul><li>Unify techniques for: </li></ul><ul><ul><li>Non-planar projections </li></ul>...
Basic Concept – Overview  <ul><li>Components: </li></ul><ul><ul><li>Dynamic cube map </li></ul></ul><ul><ul><li>Screen-ali...
Basic Concept – Details  <ul><li>Define projection function: </li></ul><ul><li>Apply camera orientation: </li></ul><ul><li...
Example: Cylindrical Projection <ul><li>Projection function: </li></ul><ul><ul><li>Horizontal </li></ul></ul><ul><ul><li>V...
Example: Spherical Projections <ul><li>Projection function: </li></ul><ul><li>Viewport truncation: </li></ul>A B C
Optimization: Normal Maps <ul><li>For static projection functions </li></ul><ul><li>Store normalized cube map sampling vec...
Outline <ul><ul><li> Introduction & Basic Concepts  </li></ul></ul><ul><ul><li> Generalization Concept </li></ul></ul>...
Generalization Concept – Overview  A B C D
Projection Tile Screen - Example Final Rendering
Projection Tile Screens <ul><li>Projection tile screen (TPS) =set of projection tiles </li></ul><ul><li>Projection tile =s...
Generating Feature Maps <ul><li>Feature-map rendering: </li></ul><ul><ul><li>Setup render-to-texture </li></ul></ul><ul><u...
Projection Tiles – Extensions  <ul><li>Limitations: </li></ul><ul><ul><li>PTS is hard to model and control </li></ul></ul>...
Outline <ul><ul><li> Introduction & Basic Concepts  </li></ul></ul><ul><ul><li> Generalization Concept </li></ul></ul>...
Dynamic Cube Maps <ul><li>Single-Pass:  needs DX10 compatible hardware </li></ul><ul><ul><li>Evaluate the scene only  once...
Main Shader Shader main entry point
Cylindrical Projection Shader Projection function
Outline <ul><ul><li> Introduction & Basic Concepts  </li></ul></ul><ul><ul><li> Generalization Concept </li></ul></ul>...
Non-Planar Projection Surfaces Horizontal FOV: 360°, Vertical FOV 90°  Normal Map Final Rendering Non-Planar Projection Su...
Using Custom Normal Maps Final Rendering Horizontal FOV: 90°, Vertical FOV 60°  Normal Map (Tangent Space) Normal Map (Uni...
Combinations of Projections
Lens Effects Horizontal FOV: 180°, Vertical FOV 135°  Final Rendering Normal Map
Compound Eye Horizontal FOV: 120°, Vertical FOV 60°
Outline <ul><ul><li> Introduction & Basic Concepts  </li></ul></ul><ul><ul><li> Generalization Concept </li></ul></ul>...
Limitations <ul><li>Rendering quality depends on: </li></ul><ul><ul><li>Cube map resolution </li></ul></ul><ul><ul><li>Tes...
Conclusions <ul><li>Take aways: </li></ul><ul><ul><li>General concept for SCOP distortions: </li></ul></ul><ul><ul><ul><li...
Q & A <ul><li>Thank You. </li></ul><ul><li>Contact: </li></ul><ul><ul><li>Matthias Trapp </li></ul></ul><ul><ul><li>[email...
Upcoming SlideShare
Loading in...5
×

Non-Planar Projections (GRAPP 2008)

786

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
786
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Non-Planar Projections (GRAPP 2008)

  1. 1. BBB Computer Graphics Systems Group, Hasso-Plattner Institute, University of Potsdam, A Generalization Approach for 3D Viewing Deformations of Single-Center Projections Matthias Trapp , Jürgen Döllner 3 rd International Conference on Computer Graphics Theory and Applications 22 - 25 January, 2008, Funchal, Madeira - Portugal
  2. 2. Outline <ul><ul><li> Introduction & Basic Concepts </li></ul></ul><ul><ul><li> Generalization Concept </li></ul></ul><ul><ul><li> Implementation </li></ul></ul><ul><ul><li> Applications </li></ul></ul><ul><ul><li> Conclusions </li></ul></ul>
  3. 3. Mission: Unified Rendering Technique <ul><li>Unify techniques for: </li></ul><ul><ul><li>Non-planar projections </li></ul></ul><ul><ul><li>2D lens effects </li></ul></ul><ul><ul><li>Image warping </li></ul></ul><ul><li>Implementation requirements: </li></ul><ul><ul><li>Real-time visualization </li></ul></ul><ul><ul><li>Large scene rendering </li></ul></ul><ul><ul><li>Single projection center (SCOP) </li></ul></ul>
  4. 4. Basic Concept – Overview <ul><li>Components: </li></ul><ul><ul><li>Dynamic cube map </li></ul></ul><ul><ul><li>Screen-aligned quad </li></ul></ul><ul><ul><li>Fragment shader </li></ul></ul><ul><li>3-Phase rendering: </li></ul><ul><ul><li>Create/Update dynamic cube map </li></ul></ul><ul><ul><li>Setup projection shader </li></ul></ul><ul><ul><li>Render screen-aligned quad </li></ul></ul><ul><li>Main characteristics: </li></ul><ul><ul><li>Image-based approach </li></ul></ul><ul><ul><li>Fully hardware accelerated </li></ul></ul>Cube map
  5. 5. Basic Concept – Details <ul><li>Define projection function: </li></ul><ul><li>Apply camera orientation: </li></ul><ul><li>Sample from cube map: </li></ul>
  6. 6. Example: Cylindrical Projection <ul><li>Projection function: </li></ul><ul><ul><li>Horizontal </li></ul></ul><ul><ul><li>Vertical </li></ul></ul>Horizontal FOV: 360°, Vertical FOV 60°
  7. 7. Example: Spherical Projections <ul><li>Projection function: </li></ul><ul><li>Viewport truncation: </li></ul>A B C
  8. 8. Optimization: Normal Maps <ul><li>For static projection functions </li></ul><ul><li>Store normalized cube map sampling vectors </li></ul><ul><li>Using Render-To-Texture (RTT) </li></ul><ul><li>Floating point texture precision </li></ul>Projections Normal Maps OMNIMAX Cylindrical (Horizontal)
  9. 9. Outline <ul><ul><li> Introduction & Basic Concepts </li></ul></ul><ul><ul><li> Generalization Concept </li></ul></ul><ul><ul><li> Implementation </li></ul></ul><ul><ul><li> Applications </li></ul></ul><ul><ul><li>  Conclusions </li></ul></ul>
  10. 10. Generalization Concept – Overview A B C D
  11. 11. Projection Tile Screen - Example Final Rendering
  12. 12. Projection Tile Screens <ul><li>Projection tile screen (TPS) =set of projection tiles </li></ul><ul><li>Projection tile =set of tile features </li></ul><ul><li>Tile Feature: </li></ul>
  13. 13. Generating Feature Maps <ul><li>Feature-map rendering: </li></ul><ul><ul><li>Setup render-to-texture </li></ul></ul><ul><ul><li>Setup orthogonal-projection </li></ul></ul><ul><ul><li>Encode feature properties as color values: Angles: </li></ul></ul><ul><ul><li>Render tiles successively </li></ul></ul><ul><li>Cube map sampling vectors: </li></ul><ul><ul><li>Calculated using fragment shader </li></ul></ul><ul><ul><li>Vector derived by: </li></ul></ul>
  14. 14. Projection Tiles – Extensions <ul><li>Limitations: </li></ul><ul><ul><li>PTS is hard to model and control </li></ul></ul><ul><ul><li>Triangulation influences interpolation </li></ul></ul><ul><ul><li>Covers not all possible tile shapes </li></ul></ul><ul><ul><li>No hard transition between tiles </li></ul></ul><ul><li>Improvements: </li></ul><ul><ul><li>Regular grid  triangulated planar mesh („triangle soup“) </li></ul></ul><ul><ul><li>Enables hard transitions between tiles </li></ul></ul><ul><ul><li>Enable the usage of modeling tools </li></ul></ul>
  15. 15. Outline <ul><ul><li> Introduction & Basic Concepts </li></ul></ul><ul><ul><li> Generalization Concept </li></ul></ul><ul><ul><li> Implementation </li></ul></ul><ul><ul><li> Applications </li></ul></ul><ul><ul><li> Conclusions </li></ul></ul>
  16. 16. Dynamic Cube Maps <ul><li>Single-Pass: needs DX10 compatible hardware </li></ul><ul><ul><li>Evaluate the scene only once </li></ul></ul><ul><ul><li>Geometry shader multiply primitive </li></ul></ul><ul><ul><li>Project primitive to cube map faces </li></ul></ul><ul><ul><li>Rasterization to six texture layers in parallel </li></ul></ul><ul><li>Multi-Pass: most compatible approach </li></ul><ul><ul><li>Evaluate scene six times </li></ul></ul><ul><ul><li>RTT to each cube face </li></ul></ul><ul><ul><li>Runtime optimizations: </li></ul></ul><ul><ul><ul><li>Omit whole cube map update </li></ul></ul></ul><ul><ul><ul><li>Omit cube map side update </li></ul></ul></ul>
  17. 17. Main Shader Shader main entry point
  18. 18. Cylindrical Projection Shader Projection function
  19. 19. Outline <ul><ul><li> Introduction & Basic Concepts </li></ul></ul><ul><ul><li> Generalization Concept </li></ul></ul><ul><ul><li> Implementation </li></ul></ul><ul><ul><li> Applications </li></ul></ul><ul><ul><li> Conclusions </li></ul></ul>
  20. 20. Non-Planar Projection Surfaces Horizontal FOV: 360°, Vertical FOV 90° Normal Map Final Rendering Non-Planar Projection Surface
  21. 21. Using Custom Normal Maps Final Rendering Horizontal FOV: 90°, Vertical FOV 60° Normal Map (Tangent Space) Normal Map (Unit Space)
  22. 22. Combinations of Projections
  23. 23. Lens Effects Horizontal FOV: 180°, Vertical FOV 135° Final Rendering Normal Map
  24. 24. Compound Eye Horizontal FOV: 120°, Vertical FOV 60°
  25. 25. Outline <ul><ul><li> Introduction & Basic Concepts </li></ul></ul><ul><ul><li> Generalization Concept </li></ul></ul><ul><ul><li> Implementation </li></ul></ul><ul><ul><li> Applications </li></ul></ul><ul><ul><li> Conclusions </li></ul></ul>
  26. 26. Limitations <ul><li>Rendering quality depends on: </li></ul><ul><ul><li>Cube map resolution </li></ul></ul><ul><ul><li>Tessellation of tile screen </li></ul></ul><ul><ul><li>Undersampling / Oversampling </li></ul></ul><ul><li>Dynamic cube map can be costly </li></ul>Interpolation artifacts by contrary tessellation Haik Lorenz, Jürgen Döllner, Dynamic Mesh Refinement on GPU using Geometry Shaders , WSCG 2008 (to appear) A B
  27. 27. Conclusions <ul><li>Take aways: </li></ul><ul><ul><li>General concept for SCOP distortions: </li></ul></ul><ul><ul><ul><li>Non-planar projections </li></ul></ul></ul><ul><ul><ul><li>2D lenses with arbitrary shapes </li></ul></ul></ul><ul><ul><ul><li>Image warping and distortions </li></ul></ul></ul><ul><ul><li>Applicable in real-time for large scenes </li></ul></ul><ul><ul><li>Controllable via projection tile screens </li></ul></ul><ul><ul><li>Important: resolution of cube map and tessellation of PTS </li></ul></ul><ul><li>Future work: </li></ul><ul><ul><li>Improve rendering quality </li></ul></ul><ul><ul><li>Develop graphical user interface for PTS </li></ul></ul><ul><ul><li>Shift PTS tessellation to GPU </li></ul></ul>
  28. 28. Q & A <ul><li>Thank You. </li></ul><ul><li>Contact: </li></ul><ul><ul><li>Matthias Trapp </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>Computer Graphics Systems Group </li></ul></ul><ul><ul><li>Prof. Dr. Jürgen Döllner </li></ul></ul><ul><ul><li>www.hpi.uni-potsdam.de/3d </li></ul></ul><ul><ul><li>Research group 3D-Geoinformation </li></ul></ul><ul><ul><li>www.3dgi.de </li></ul></ul>

×