umbra occlusion culling virtual reality oculus rift

One of the challenges facing virtual reality gaming is hitting key performance benchmarks which help increase presence and reduce simulator sickness. Umbra Software, a company that makes middleware for game development, says their technology can help developers of VR games hit the 120 FPS threshold.

Reducing latency is key to creating a comfortable virtual reality experience. Outside of the VR world, the de facto FPS for a high-end PC gaming experience is said to be 60 FPS. According to Oculus VR’s ‘Best Practices’ guide, 60 FPS is the absolute minimum that a virtual reality game should be able to run, and the game engine has to be able to achieve that framerate v-synced and unbuffered. Oculus has been targeting 20ms for total motion-to-photons latency below which, according to John Carmack, is generally imperceptible to humans. The higher the framerate, the lower the latency can be. Beefy hardware and software optimization are both needed to make this happen.

Umbra Software makes an occlusion culling middleware program that they’re now pitching for VR optimization. Simply put, occlusion culling is the act of deciding which parts of a scene should be rendered and which should not. By selectively rendering only the visible parts of a scene, occlusion culling significantly reduces the required load and improves performance of a simulation. For the visual learners, like myself, here’s a quick video showing how occlusion culling works:

GridRaster Raises $2 Million for AR/VR Cloud Rendering Solution

Umbra’s software is in use by some of the gaming industry’s biggest names, including Bungie, Square Enix, and Microsoft Game Studios.

Umbra Occlusion Culling for VR with Stereo Camera

The latest version of the company’s software, Umbra 3, natively supports occlusion culling for stereo scenes, like those displayed in the Oculus Rift. The feature is called Stereo Camera and the company says that with their software “both eyes can use the results of a single occlusion culling operation – effectively halving the required processing time.”

umbra occlusion culling virtual reality oculus rift

“The Stereo Camera is a runtime operation, which returns the set of visible objects within a specified sphere, instead of a point in space. The query origin is set exactly between the two eyes of the viewer, and the sphere is set to encompass both eyes, which guarantees correct results,” reads the company’s page on VR. They say it can help developers “reach 120 fps or build bigger scenes” with high performance.

Other occlusion culling technologies require a query for each eye and run on the GPU. The GPU-based approach can lead to visual artifacts wherein objects can pop in and out of the visible scene when the viewpoint is moving quickly. In VR, that kind of error can impact immersion greatly, especially if the pop in or out were to happen in only one eye and not both.

In addition to needing only one query for both eyes to determine culling, the company says that its software does all processing on the CPU. Their particular approach to occlusion culling means there can never be pop-in artifacts.

Watch: ILMxLab's Star Wars Real-Time Ray-Tracing Demo on Unreal Engine is Stunning

Umbra’s Stereo Camera Coming to Unity and Unreal Engine

Umbra’s software is largely aimed at full scale game studios seeking integration with proprietary engines, though Thomas Puha, Umrba’s developer relations manager, tells me that it never hurts to get in touch.

“…we do realize that the industry is in constant stage of change and we have to evolve as well. So are trying to find ways to work with indies and with games done on a smaller budget and are already doing something on this front. We definitely do not want to discourage developers from getting in touch with us and trying out our tech if it’s a relevant project. Our technology is being used by all sorts of games that have a wide scale, but we cannot disclose most of them yet.”

Indie developers can get their hands on the tech through the Unity game development software which uses Umbra’s solution for occlusion culling. Umbra’s occlusion culling integration with Unity was completely rewritten to improve performance in Unity 4.3.

VR developers using Unity will have to wait a bit longer though; Puha tells me that the Stereo Camera functionality for VR occlusion culling is coming to Unity as soon as possible.

Umbra is also working to get their occlusion culling solution, including the Stereo Camera functionality, into the Unreal Store as another means for indies to get their hands on the technology. Unfortunately, no timeline is yet available.

This article may contain affiliate links. If you click an affiliate link and buy a product we may receive a small commission which helps support the publication. See here for more information.

  • Chris Given

    Wow this combined with the software being developed by Oculus will have our games running at really sick FPS’s… This reminds me of the Single Slit experiment… When you are not looking all possibilities exsist, and when you are you collapse them all into a single outcome… But in reverse… When you are not looking it’s not rendering what you are not looking at so it might as well not exsist but when you do look it’s like creating the virtual world you are in with a simple look!! Sweet!!

  • brantlew

    Hah. I remember when culling and poly-intersection was the ONLY practical method to do distance occlusion. Z-buffer was an exotic technology that was available to very few. Nowadays – engines can get by with being wasteful. It’s funny to hear this popping up again as an exciting new technology.