Umbra 3 & Unity 3.5 - IGDA Helsinki 2012


Published on

A presentation me and mr. Thomas Puha did for IGDA Finland Unity event. We give a quick overview of how Umbra works in Unity.

Published in: Technology, Spiritual
1 Comment
  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

  1. 1. Umbra, Unity and rendering optimization 10/1/2012 Sampo ”Anvil” Lappalainen & Thomas Puha IGDA Unity evening
  2. 2. <ul><li>Founded in 2006, Helsinki, Finland </li></ul><ul><li>13 full-time employees </li></ul><ul><li>In the business of occlusion culling = rendering performance optimizing </li></ul><ul><li>Plenty of shipped games utilizing Umbra’s tech: Alan Wake, Mass Effect 2-3, Dragon Age 1-2, Age of Conan etc </li></ul><ul><ul><li>Current product </li></ul></ul><ul><ul><ul><ul><ul><li>Umbra 3.1 (CPU, CPU/GPU) </li></ul></ul></ul></ul></ul><ul><li>Available for PlayStation 3, Xbox 360, PlayStation Vita, iOS, pc, Android and future console platforms... </li></ul>
  3. 3. Currently working with...
  4. 4. Currently working with...
  5. 5. What do we offer? “Umbra rendering optimization” <ul><li>Helping to optimize graphics rendering to enable better performance </li></ul><ul><li>Only draw what the camera sees - visibility solution </li></ul><ul><li>Basis of a 3D engine – but very difficult problem to solve well </li></ul><ul><li>Umbra’s core engineering team has worked on this since 2000 </li></ul><ul><li>More and more technology-driven studios choose our solution </li></ul><ul><li>Mature technology and it works – easy to integrate </li></ul>
  6. 6. Umbra tech timeline <ul><li>Umbra 1 - 2007 </li></ul><ul><ul><li>Hierarchical representation of the scene </li></ul></ul><ul><ul><li>GPU occlusion queries for visibility testing </li></ul></ul><ul><li>Umbra 2 (OB) - 2009 </li></ul><ul><ul><li>Multithreaded Umbra 1 </li></ul></ul><ul><ul><li>Built to work optimally on PS3 / Xbox 360 </li></ul></ul><ul><li>Umbra 3 - 2011 </li></ul><ul><ul><li>Umbra Optimizer for visibility baking </li></ul></ul><ul><ul><li>Umbra Runtime for CPU operations </li></ul></ul>
  7. 7. Umbra and Unity 3.5 Pro <ul><li>Umbra 3.0 pre-integrated </li></ul><ul><li>All Unity platforms covered </li></ul><ul><li>Optimizer : </li></ul><ul><ul><li>Visibility ”bake” </li></ul></ul><ul><ul><li>Take scene, computation parameters as input </li></ul></ul><ul><ul><li>Produces a Tome </li></ul></ul><ul><li>Runtime: </li></ul><ul><ul><li>Perform occlusion culling using the pre-computed Tome </li></ul></ul>
  8. 8. Upcoming features <ul><ul><li>Incremental Bake </li></ul></ul><ul><ul><li>When a change is made to the scene, only the affected areas need to be recomputed </li></ul></ul><ul><ul><li>Dramatic reduction in baking times </li></ul></ul><ul><li>” Grizzly” culling algorithm </li></ul><ul><ul><li>Improved portal culling algorithm </li></ul></ul><ul><ul><li>All new, groundbreaking, next-level, way of doing things! </li></ul></ul>
  9. 9. Live Umbra 3 and Unity demo Recap: Best practices
  10. 10. Tip 1: Set tight Occlusion Areas <ul><li>Don’t compute the parts of the scene where camera cannot go </li></ul><ul><li>Gains: </li></ul><ul><ul><li>Faster computation </li></ul></ul><ul><ul><li>Smaller runtime memory footprint </li></ul></ul>
  11. 11. Tip 2: Choose the right culling algorithm <ul><li>Different data needs to be computed for different algorithms </li></ul><ul><li>PVS </li></ul><ul><ul><li>Simple lookup in runtime, fast! </li></ul></ul><ul><li>PVS with dynamic objects </li></ul><ul><ul><li>Larger runtime data size </li></ul></ul><ul><li>Portal </li></ul><ul><ul><li>More accurate than the PVS test </li></ul></ul><ul><ul><li>Fast to test dynamic objects </li></ul></ul>
  12. 12. Tip 3: Computation parameters <ul><li>Huge impact on both computation time and culling quality </li></ul><ul><li>View Cell Size: </li></ul><ul><ul><li>Smaller values take longer to compute, but produce better occlusion </li></ul></ul><ul><li>Near Clip Plane: </li></ul><ul><ul><li>How close to the geometry can the runtime camera go </li></ul></ul><ul><li>Start with default values and tweak one parameter at a time </li></ul>
  13. 13. Thank you for listening (Thanks IGDA and Unity) Enjoy a free ”Tome” drink on us tonight!