High Fidelity just quietly announced a pretty significant breakthrough [see Update below] for Oculus and virtual reality in general: Support for running its virtual world on Oculus -- on a Mac. As Mac-using VR fans know, Oculus stopped active Mac support around a year ago, and unless I missed it, this makes High Fidelity the first and only Oculus application compatible for Mac (if you have a Mac with a high-end GPU, that is, with an AMD Radeon R9 suggested).
High Fidelity CTO Brad Hefta-Gaub tells me this required very little code or effort:
"The actual process of getting Oculus working on the Mac was pretty easy for us because we'd built our architecture with cross-platform in mind. Less then 100 lines of code were required to enable this support."
More on how they did that -- and how other VR developers who want Oculus/Mac compatibility for their own Oculus apps might do likewise:
"This was possible because of a couple of important design choices we made in our architecture:
- Our code was cross platform from the beginning (we actually started development on the Mac)
- We have a plug-in architecture for HMDs and other devices, so adding support for this was a matter of making a new plug-in and didn't require core system changes.
- We had previously done work to allow high frame rate updating of the HMD display even in cases where the scene rendering may be lower frame rate. This allows lower end GPUs to still deliver frames to the HMD at a high enough frame rate to prevent judder, even if the scene rendering is slow. We call this "threaded present", and this step was critical to making this work.
Brad's advice for other Oculus developers who want to make their games/apps compatible for Mac:"
"The biggest piece of advice is that you have to solve the problem of getting frame buffers to the Oculus SDK at 75hz, even if your game/app can't render it's scenes at that rate. The 0.5 SDK will do Time Warp for you, but it doesn't support asynchronous time warp. If your application logic and render loop can't perform at 75hz, you will need to implement a solution similar to what we did with threaded present."
I'm not 100% sure what that all means, but that does mean this song now has special significance for Oculus devs:
Update, 7:45pm: Over on my Facebook page, Oculus founder Palmer Luckey says about this: "They are just using SDK 0.5, a very old version of our software that lacks all the features we have built over the past year. Anyone can do that, it is still freely available. Not exactly a breakthrough." OK then!
Update 2, 11:35pm: Responding to Luckey in Comments below and on my Facebook page, High Fidelity founder Philip Rosedale says, "The fact that we made this work on the Oculus 0.5 SDK is what's impressive, and a good bit of work. Last December, we wrote a cross-platform implementation of the same 'Asynchronous Timewarp' technique that was released by Oculus, for Windows only, in March 2016. Our version therefore enables similarly great performance on Mac OSX as well as on the HTC Vive."
In the same thread, High Fidelity developer Brad Davis, who "who literally wrote the book on Oculus" and coded much of this Mac compatibility of Oculus/HF, replies to Palmer this way: "I wouldn't have characterized it as a breakthrough, but then again, the only reason it's built against 0.5 is because that's when Oculus dropped Mac support. When I release Mac support for the CV1 can I at least rely on you to be suitably impressed then?"
Photos courtesy High Fidelity!
Please share this post: