Which SDK to use these days ?

Post questions, comments and feedback to our 3Dconnexion Windows Development Team.

Moderator: Moderators

Post Reply
AlexH2
Posts: 3
Joined: Mon Jan 05, 2015 8:54 pm

Which SDK to use these days ?

Post by AlexH2 »

Hello all

What is the officially preferred way to access 3DX devices these days ? A quick search in these forums bring up a lot of inconsistent, outdated and partially contradicting information about this topic.

At some point, 3DConnexion recommended the use of the raw input API over their own native API and the replication of the driver property panel functionality on application level (as the former would be entirely bypassed). The referenced pdf document however does not exist anymore in the current SDK. Somewhat later, it was said that "a new beta driver" would allow the control panel to be used at driver level, while still accessing the devices' data stream over raw input. Now the current SDK does not mention raw input at all anymore. Only the native API (Si* calls and events) is mentioned here.

Would it be possible for someone from 3DConnexion to clear up this confusing situation ?

Thanks,
Alex
ngomes
Moderator
Moderator
Posts: 3321
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: Which SDK to use these days ?

Post by ngomes »

Hi AlexH2,
What is the officially preferred way to access 3DX devices these days ?
The way we see this, it will depend on the technology (frameworks) used to implement an application. For example, a programmer developing a Direct3D program will likely prefer to use DirectInput.

We moved away from Raw Input since it didn't offer the best experience for end-users. The framework can still be used but we now advise developers to stick with the "3DxWare SDK" as we will be updating it on a on-going basis to add features that should allow for extendibility in a way that cannot be done with a static (compile time) solution like Raw Input.

We're very sorry for the confusion caused. We never meant to create obstacles in path developers take to add support for 3D mice.
AlexH2
Posts: 3
Joined: Mon Jan 05, 2015 8:54 pm

Re: Which SDK to use these days ?

Post by AlexH2 »

ngomes,

Thanks for your reply, it was very helpful. So it looks like we're going to use the 3DxWare API then.

It might be a good idea to make this information more prominently available to developers, as people searching the forums will inevitably come across outdated advice.

Alex
MindSight
Posts: 1
Joined: Fri Jun 26, 2015 4:49 pm

Re: Which SDK to use these days ?

Post by MindSight »

ngomes wrote:Hi AlexH2,
What is the officially preferred way to access 3DX devices these days ?
The way we see this, it will depend on the technology (frameworks) used to implement an application. For example, a programmer developing a Direct3D program will likely prefer to use DirectInput.

We moved away from Raw Input since it didn't offer the best experience for end-users. The framework can still be used but we now advise developers to stick with the "3DxWare SDK" as we will be updating it on a on-going basis to add features that should allow for extendibility in a way that cannot be done with a static (compile time) solution like Raw Input.

We're very sorry for the confusion caused. We never meant to create obstacles in path developers take to add support for 3D mice.

We moved away from Raw Input ??

Thanks for this information.
I am trying to access this through C#, and without rawinput (The now preferred access methodology of Microsoft in DirectInput), I am attempting to use your "3DxWare SDK", to control some
Fast Fourier Frequency Charts of speech (much more in the future), but I need the speed of the fft in DirectX and the speed of Drawing in DirectX.

Now I don't have rawinput to work from while I am in my C# DirectINput/DirectX software so I have been trying to use your API.
I can get this C++ demo to work, "3DxTest.vcxproj" nice it works and the window comes up showing the device's input info,
and that would be great to get the input into my directX app, so I am attempting to pull that data in the call to,
"res = SbInit();" from line 85 of 3dxTest32.cpp", from my CSharp ,

I need to change this to return error string's (winform popup's just not what I need) and set the hWndMain(if that is needed to bind your API to my directX windows) before calling it or in the call,
extern "C" __declspec(dllexport) const char* __stdcall SbInit().

I know this is an API and I am probably focusing on to high of a level for my CSharp code, but getting your API to work from CSharp is goingggggggg, sooooooo slowwwww!

Any one out there have a solutions already?
I don't need to own the code, once I have the CSharp solution I can share that call with everyone, and I will have it because I can't wait, its a must have.
No sense of living in a 3d computing environment with 2d input.

Thanks
Steve
Post Reply