A clever set of visualizations covering some of the major changes to Oculus’ new software developers kit (SDK) has surfaced, and may help the non-developers among us get a better grip on exactly what these changes mean for VR.
Thanks to Reddit user Whalefreezer, we can now see some of the major changes to the SDK visualized. The gifs show some of the updates we’ve covered previously, including positional timewarp, layers, layer independent FPS, layer in world space, and extreme positional timewarp.
The introduction of positional timewarp is a way of including positional support for feature that has been apart of last SDK, i.e. what we can now call ‘rotational’ timewarp. Timewarp in general is used to “warp the rendered image before sending it to the display in order to correct for head motion that occurred after the scene was rendered and thereby reduce the perceived latency,” explains Oculus chief software architect Michael Antonov in an Oculus blog post.
The introduction of ‘layers’ allows multiple independent application render targets to be sent independently to the headset, therefore giving devs have more control over the layer’s size, resolution, and update rate before the layer its sent for distortion and display. So for example, if you need to render detail-centric layers like HUDs, which use text etc. you can target a layer with a resolution higher than the gameworld beyond and reap the performance benefits.
3Layer Independent FPS
This shows the layers running independently from each other, which in this case is the world render layer and the floating Oculus homepage. Notice that each are running at a different FPS.
4Layer in World Space
This shows the floating Oculus page independently moving through the world render layer (world space) again at different FPS.
5Extreme Positional Timewarp
Because positional timewarp is only designed to smooth over relatively small dips in FPS, this example of ‘extreme positional timewarp’ is demonstrative of when the user goes to a hypothetical extreme position. We see the layer frozen in space as the world overcompensates with repeated patterns and colors.
Update: Thanks to brantlew for clearing up the facts on ‘extreme positional timewarp’!
For full documentation on the new SDK 0.6.0, check out the release notes on the Oculus developers site. We’d also like to hear from developers out there trying to implement these new features. Is it proving more difficult than you envisioned? What issues have you come across? Let us know in the comments below.