NVIDIA Announces GameWorks VR Branding, Adds Multi-Res Shadingby Ryan Smith on May 31, 2015 6:00 PM EST
First off, initially introduced alongside the GeForce GTX 980 in September as VR Direct, today NVIDIA is announcing that they are bringing their VR technologies in under the GameWorks umbrella of developer tools. The collection of technologies will now be called GameWorks VR, adding to the already significant collection of GameWorks tools and libraries.
Meanwhile, alongside today’s rebranding, NVIDIA is also announcing a new feature for GameWorks VR: multi-resolution shading, or multi-res shading for short. With multi-res shading, NVIDIA is looking to leverage the Maxwell 2 architecture’s Multi-Projection Acceleration in order to increase rendering efficiency and ultimately the overall performance of their GPUs in VR situations.
The fundamental issue at play here is how rendering works in conjunction with the optics that go into a VR headset. VR headsets uses lenses to help users focus on a screen mere inches from their eyes, and to help compensate for the wide field of vision of the human eye. However in doing this, these lenses also introduce distortion, which in turn must be compensated for at the rendering phase in order to similarly distort the image such that it appears correct to the user after going through the lenses.
From a rendering perspective none of this is problematic, as distorting a rendered image is actually a pretty straightforward pixel shader operation. However one of the products of this distortion is that the distorted image has less information in it than the original image, due to the combination of the presence of optics in a headset and the fact that the human eye sees more detail at the center than at its edges. The end result is that GPUs are essentially rendering more detail than they need to at the edges of a frame, which in turn introduces some room for psychovisual rendering optimizations.
This brings us to multi-res shading and the theory behind this feature. The crux of the theory behind multi-resolution rendering is that if a GPU could render parts of a single frame at differing levels of detail – a full-detailed center and a lower detailed peripheral – then that GPU could reduce the overall amount of work required to render a frame, boosting performance and/or lowering the GPU requirements for VR. Rendering a frame in such a fashion would result in a loss of image quality – a subdivided image rendered at different detail levels would not be identical to a traditionally rendered full-detail image – but since image quality is compromised by the distortion itself and the compromised portions of the image are being directed at the less-sensitive outer edges of the eye, the end result is that one can bring down the detail level of the outer edge of an image without significantly compromising the projected image or the user experience. Think of it as lossy compression for VR.
For multi-res shading NVIDIA does just this, leveraging their multi-projection acceleration technology to efficiently implement it. In this process NVIDIA subdivides the image into multiple viewports, scaling the outer viewports to lower resolutions while rendering the inner-most viewport at full resolution, resulting in an image that overall is composed of fewer pixels and hence faster to render. MPA in turn allows NVIDIA to build the scene geometry a single time and project it to the multiple viewports simultaneously, eliminating much of the overhead that would be incurred in rendering the same scene multiple times to multiple viewports.
The end result of multi-res shading is that NVIDIA is claiming that they can offer a 1.3x to 2x increase in pixel shader performance without noticeably compromising the image quality. Like many of the other technologies in the GameWorks VR toolkit this is an implementation of a suggested VR practice, however in NVIDIA’s case the company believes they have a significant technological advantage in implementing it thanks to multi-projection acceleration. With MPA to bring down the cost of rendering to multiple viewports, NVIDIA’s hardware can better take advantage of the performance advantages of this rendering approach, essentially making it an even more efficient method of VR rendering. Of course it’s ultimately up to developers whether they want to implement this or not, so whether this technology sees significant use is up to developers and whether they find the tradeoffs worth the performance gains and necessary development effort.