umbra 3 & unity 3.5 - igda helsinki 2012

Post on 13-Dec-2014

581 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Umbra, Unity and rendering optimization

10/1/2012

Sampo ”Anvil” Lappalainen & Thomas Puha

IGDA Unity evening

• Founded in 2006, Helsinki, Finland• 13 full-time employees • In the business of occlusion culling = rendering

performance optimizing• Plenty of shipped games utilizing Umbra’s tech: Alan

Wake, Mass Effect 2-3, Dragon Age 1-2, Age of Conan etcCurrent product

• Umbra 3.1 (CPU, CPU/GPU)

• Available for PlayStation 3, Xbox 360, PlayStation Vita, iOS, pc, Android and future console platforms...

Currently working with...

Currently working with...

What do we offer?“Umbra rendering optimization”• Helping to optimize graphics rendering to enable better

performance

• Only draw what the camera sees - visibility solution

• Basis of a 3D engine – but very difficult problem to solve well

• Umbra’s core engineering team has worked on this since 2000

• More and more technology-driven studios choose our solution

• Mature technology and it works – easy to integrate

Umbra tech timeline

• Umbra 1 - 2007– Hierarchical representation of the scene– GPU occlusion queries for visibility testing

• Umbra 2 (OB) - 2009– Multithreaded Umbra 1– Built to work optimally on PS3 / Xbox 360

• Umbra 3 - 2011– Umbra Optimizer for visibility baking– Umbra Runtime for CPU operations

Umbra and Unity 3.5 Pro

• Umbra 3.0 pre-integrated• All Unity platforms covered

• Optimizer:– Visibility ”bake”– Take scene, computation parameters as input– Produces a Tome

• Runtime:– Perform occlusion culling using the pre-computed Tome

– Incremental Bake•When a change is made to the scene, only the affected areas need to be recomputed•Dramatic reduction in baking times

Upcoming features

– ”Grizzly” culling algorithm• Improved portal culling algorithm• All new, groundbreaking, next-level, way

of doing things!

Live Umbra 3 and Unity demo

Recap: Best practices

Tip 1: Set tight Occlusion Areas

• Don’t compute the parts of the scene where camera cannot go• Gains:

– Faster computation– Smaller runtime memory footprint

Tip 2: Choose the right culling algorithm

• Different data needs to be computed for different algorithms

• PVS– Simple lookup in runtime, fast!

• PVS with dynamic objects– Larger runtime data size

• Portal– More accurate than the PVS test– Fast to test dynamic objects

Tip 3: Computation parameters

• Huge impact on both computation time and culling quality

• View Cell Size:– Smaller values take longer to

compute, but produce better occlusion

• Near Clip Plane:– How close to the geometry can

the runtime camera go• Start with default values and tweak

one parameter at a time

Thank you for listening (Thanks IGDA and Unity)

Enjoy a free ”Tome” drink on us tonight!

umbra3.com

top related