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:
Anyway, more here (including the downloadable Mac client) on HF's site.
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:
Yup - DK2 anything is old hat. It's news when something has Oculus Rift support (AKA CV1, AKA Oculus Runtime 1.3)
Posted by: Adeon Writer | Thursday, May 19, 2016 at 08:23 PM
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.
Posted by: Philip Rosedale | Thursday, May 19, 2016 at 09:17 PM
Sitting back and watching.. but nice work Philip.. #TeamPhilip in this one :)
Posted by: adec | Thursday, May 19, 2016 at 09:34 PM
Did Occulus drop Mac OS X support because they perceive no market save on gamer-spec Windows desktops?
Typing this from an hours-old MacBook Pro. It's my fourth Mac laptop in 18 years, and there's no friggin' way I'm going back to a desktop, even if it were a Mac.
Posted by: Iggy | Friday, May 20, 2016 at 08:45 AM
@Iggy: No, they ain't supporting Mac because there's simply none which brings the specs to enable the kind of highend VR experience Oculus is aiming for:
https://www.theguardian.com/technology/2016/mar/04/palmer-luckey-oculus-mac-when-apple-release-a-good-computer
They're actually trying hard to make the Oculus experience smooth and compelling enough to make the platform a commercial success. They have always warned VR hardware and software providers that a poor implementation may do irreversible damage to the whole field technology.
Rosdale, on the other hand, doesn't care, HiFi has no standards, they're not making any content and the performance and experience is entirely in the hand of their domain owners...
Posted by: Wolkenreiter | Friday, May 20, 2016 at 09:42 AM
Thanks, Wolkenreiter. I hope they enjoy whatever success they aim to have, but they'll never be mainstream with Millennials (which may not be their goal).
We are at 90% Mac OS by incoming students at my university, and nearly 0% desktops running any OS.
The PC Gamer market is a big one, that said. And if I ever have an interest in a Rig of some sort, I'm sure there will be Mac OS compatible competitors for Occulus at that point.
Posted by: Iggy | Friday, May 20, 2016 at 10:23 AM
I don't know a single 'millennial' (I don't know a single 'millennial' who self-refers to themselves as such) who owns a mac.
Posted by: Adeon Writer | Saturday, May 21, 2016 at 04:43 AM
@Adeon, we travel in different circles. Ours is not a gamer-heavy campus for serious games. I will add that the serious gamers I know have desktop PCs. So there you go.
Posted by: Iggy | Sunday, May 22, 2016 at 04:27 PM
Yeah it's compatible, until I say it isn't.
Posted by: Joe | Sunday, May 22, 2016 at 06:17 PM