Forum Discussion
philippM
11 years agoHonored Guest
SDK 0.25 to 0.3.2 update -> functions removed??
I'm getting several errors after updating to SDK 0.3.2:
No member named 'Projection' in 'OVR::Util::Render::StereoEyeParamsWithOrtho'
No member named 'GetIPD' in 'OVR::Util::Render::StereoConfig'
No member named 'SetIPD' in 'OVR::Util::Render::StereoConfig'
No member named 'InterpupillaryDistance' in 'OVR::HMDInfo'
No member named 'HResolution' in 'OVR::HMDInfo'
No member named 'VResolution' in 'OVR::HMDInfo'
No member named 'SetPredictionEnabled' in 'OVR::SensorFusion'
No member named 'SetHMDInfo' in 'OVR::Util::Render::StereoConfig'
This is not exactly a stable interface!
Where's the guide on upgrading from 0.2.5 to 0.3.2?
No member named 'Projection' in 'OVR::Util::Render::StereoEyeParamsWithOrtho'
No member named 'GetIPD' in 'OVR::Util::Render::StereoConfig'
No member named 'SetIPD' in 'OVR::Util::Render::StereoConfig'
No member named 'InterpupillaryDistance' in 'OVR::HMDInfo'
No member named 'HResolution' in 'OVR::HMDInfo'
No member named 'VResolution' in 'OVR::HMDInfo'
No member named 'SetPredictionEnabled' in 'OVR::SensorFusion'
No member named 'SetHMDInfo' in 'OVR::Util::Render::StereoConfig'
This is not exactly a stable interface!
Where's the guide on upgrading from 0.2.5 to 0.3.2?
14 Replies
- cyberealityGrand ChampionThe API completely changed between 0.2.x and 0.3.x. It's not just about changing some function names, it's a totally different system. Check the included guide to see how it's supposed to work.
- philippMHonored Guest
"cybereality" wrote:
The API completely changed between 0.2.x and 0.3.x. It's not just about changing some function names, it's a totally different system. Check the included guide to see how it's supposed to work.
The included guide talks about the C API only. I want to use the C++ API. - YbalridExpert ProtegeIf I'm not wrong, All core components of the SDK have now to be accessed only from C style functions.
You still have classes for example, handeling math (for representing vectors, quaternions, matrices...).
Obvously you can call the C api functions from C++ code. - cyberealityGrand ChampionHere is a simple C++ example to get you started.
https://developer.oculus.com/wiki/Minimal_Oculus_Application_0.3.x - philippMHonored Guest
"Ybalrid" wrote:
If I'm not wrong, All core components of the SDK have now to be accessed only from C style functions.
You still have classes for example, handeling math (for representing vectors, quaternions, matrices...).
Obvously you can call the C api functions from C++ code.
Oh really?
Wow. I remember some morons who didn't understand object-oriented programming whining the "SDK is too object oriented" but does that mean now EVERYONE has to pretend it's 1989 and classes don't exist? Just to make sure I got this right: Someone who does not understand object-oriented programming and classes complains, and instead of providing a thin wrapper for them, you tear apart a perfectly working object-oriented interface, forcing everyone who relies on it to throw away their code and instead pretend it's 1989 and use the C-API only?? Great idea making the SDK work for the dumbest common denominator. Why not take out C entirely and force everyone to use Javascript instead? It's so much easier!
Really brilliant solution. Everyone loves to see perfectly working code break and being forced to rewrite. Any idea how often you intend to repeat that? Just so I know when I should next look at the SDK for a stable API. 0.4? 0.9? 3.11?
The example code you gave does not differ from the one in the PDF guide. It has nothing to do with the C++ interface.
So where's the guide to CONVERT from "OO-style" to "lowest common denominator stlye"?
And no, "throw everything away and start over" is NOT a conversion guide.
With 1 bazillion $$ from facebook it should be possible to write a little guide that says "If you used A::B(), you should now use CAb() instead". - guygodinProtegeIt's not about dumbing it down to people who don't understand object oriented programming; C-style functions make it easier to keep the public API consistent over time while the implementation details can change drastically. It also simplifies calling the API from other languages. I personally think it was a great idea to move to C-style functions and I'm sure you'll see the benefit once you start using it.
- YbalridExpert Protege
"philippM" wrote:
With 1 bazillion $$ from facebook it should be possible to write a little guide that says "If you used A::B(), you should now use CAb() instead".
Also, the differencies between the tow API are far beyond changing some "A::B()" to "CAb()"... - obzenExpert Protege
"philippM" wrote:
inane rant
whaaa... :? - InertioHonored Guest
"philippM" wrote:
With 1 bazillion $$ from facebook it should be possible to write a little guide that says "If you used A::B(), you should now use CAb() instead"."cybereality" wrote:
cybereality literally stated it's not just about changing some function names, so it's probably not as easy as replacing a call of a static method with a call of a function either. cybereality also stated there's a guide included. :?
It's not just about changing some function names, it's a totally different system. Check the included guide to see how it's supposed to work. - jhericoAdventurer
"philippM" wrote:
Wow. I remember some morons who didn't understand object-oriented programming whining the "SDK is too object oriented" but does that mean now EVERYONE has to pretend it's 1989 and classes don't exist? Just to make sure I got this right: Someone who does not understand object-oriented programming and classes complains, and instead of providing a thin wrapper for them, you tear apart a perfectly working object-oriented interface, forcing everyone who relies on it to throw away their code and instead pretend it's 1989 and use the C-API only??
Pull your head out of your ass and listen. The C API exists not because people complained about the SDK being too object oriented, but because that's how most SDKs end up exposing their functionality, through C APIs.
C APIs are the most portable kind of interface. They make it easy (frequently automated) to create bindings for a given API in another language, such as Python or Java."philippM" wrote:
Really brilliant solution. Everyone loves to see perfectly working code break and being forced to rewrite. Any idea how often you intend to repeat that? Just so I know when I should next look at the SDK for a stable API. 0.4? 0.9? 3.11?
The C++ version of the SDK isn't gone. In fact it's used as the implementation code for the C API. There's nothing stopping you from using the C++ implementation code directly. Yes, some of the functions have changed and some have been removed since 0.2.x, but then again, it is a work in progress, and we were all warned that the implementation would be changing. Plus, this SDK was released more than a month ago, with the warnings coming months before that. There's no use complaining about it now like it's some kind of surprise."philippM" wrote:
With 1 bazillion $$ from facebook it should be possible to write a little guide that says "If you used A::B(), you should now use CAb() instead".
Ask an actual question like 'What do I do now that <example function> is gone?' and someone will probably provide you a sensible answer. Rants serve no purpose at all.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 3 years ago
- 5 months ago
- 10 months ago
- 7 months ago