Umbra SDK 3.4.4 is out with overall performance improvements!

All Posts

It’s been a while since we’ve sent you updates on Umbra SDK releases. The silence does by no means mean however that we’ve been slacking — in fact, we’ve released three bug fix releases since the initial 3.4 release back in April, and now we bring you 3.4.4 with big overall improvements to runtime performance and generated data size.

Below you can find the full release notes of 3.4.1, 3.4.2, 3.4.3 and 3.4.4.

2016-06-22 Version 3.4.4


  • A new improved cell grouping algorithm. This improves query times and data sizes by providing roughly the same amount of occlusion with significantly fewer cells and portals.
  • The new cell grouping algorithm honors the “smallest occluder” parameter more closely than before, which can result in minor degradation of occlusion quality. Retaining smaller than smallest occluder features in the data was an artifact of the old grouping algorithm that this change fixes.
  • Fixed issues in viewtree simplification causing OUTSIDE_SCENE errors being reported for valid view positions, especially when using the collision radius feature.
  • Improved the viewtree simplification logic to produce smaller view trees across the board.
  • Fixed a cell grouping issue that sometimes caused leaks through closed gate objects.


  • Optimized implementation of queryClustersForAABB().
  • Gate hull vertices reported by PortalInfo::getHullVertex() are now computed in runtime instead of being stored in tome data. This causes a minor performance regression in runtime, it is recommended to cache the hull vertex info on the user side if it is needed frequently.

2016-06-03 Version 3.4.3


  • Re-added support for querying user portal hull vertices (PortalInfo::getHullVertex())


  • Fixed caching of object optimization data
  • Minor portal grouping improvements


  • Added support for querying clusters for an AABB. See QueryExt::queryClustersForAABB() for more details.
  • Fixed a bug in depth buffer visualization (OcclusionBuffer::getBuffer())
  • Fixed a bug in QueryExt::queryLineSegment() introduced by per-portal expansion introduced in 3.4.2. 


  • Added setting for computing DATA_CONSERVATIVE_VIEWTREE
  • GUI tweaks

2016-04-11 Version 3.4.2


  • Add OS X binaries into release package.
  • Streamline release packages. Static libs are still shipped for all VS versions. DLLs are now located only in bin/win(32|64)_vs2015. Executables are located only in bin/win64_vs2015.


  • Change portal expansion behavior. Previously, expanding portals to ensure conservative culling might have resulted in very significant or even extreme losses of occlusion especially in some locations outside of or close to the borders of view volumes. The decision of how much portals should be expanded can now be determined in a more local manner.
  • Fix extraneous dependencies to c++ std lib on vs2010.
  • Fix a bug in backface classification.


  • Add getters for cluster portal axis and direction.


  • Fix extraneous license dialog on Debugger startup.
  • Add support for cycling active Tomes using F5/F6.

2016-04-20 Version 3.4.1


  • Fix license key check. 3.4.0 introduced a bug in the license key check code where valid license keys failed validation. Unlocked packages worked normally.

More from the Umbra blog

Bring your passion to us!

Elina Nygård / August 10, 2017
We are seeking seasoned veterans, propeller hat scientists and enthusiastic students to join us and…
Read more

Overview on Popular Occlusion Culling Techniques

Umbra / December 15, 2016
This article was featured in   The occlusion culling experts at Umbra share…
Read more

Getting It Just Right – Benchmarking On HoloLens

Karlos Zafra / October 21, 2016
"Ahhh, this porridge is just right," – Goldilocks Finding the exact balance in any recipe is…
Read more

Popular Posts