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:
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.”
“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.
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.