smallfly / ofxOpenVR

Implementation of Valve Software's OpenVR API.
MIT License
73 stars 38 forks source link

Accessing HMD matrix & setting clipping planes #4

Open mantissa opened 8 years ago

mantissa commented 8 years ago

Adding the ability to get and set the HMD matrix (for advanced camera work) and added setters for near and far clipping planes.

smallfly commented 8 years ago

Hi Jeremy,

Do you have an example of 'advanced camera work' using the new methods to get and set the HDM matrix?

Also, even using the method setCurrentHMDMatrix, the HDM's matrix will be updated each frame in the updateDevicesMatrixPose method and therefore lose any matrix set using the new method. Am I wrong?

A detail, but it would be great if you could do PR against the develop branch. I found it makes things easier for testing.

Thanks,

mantissa commented 8 years ago

Hey Hugues, Indeed, I will post an example on my repo and PR against your develop branch, no problem. But you bring up a good point: the HMD matrix is updated every frame in update. You'll see in my camera on a path example that I'm actually replacing the matrix after update. Talk soon!

mantissa commented 8 years ago

okay, just added an example to my own fork. i'm currently on a machine that doesn't have a VS license, but this should compile. the ability to set the VR camera position was a (much loved) function of DKII addon. happy to discuss how this functionality might be better integrated into ofxOpenVR.

smallfly commented 8 years ago

Great! I'm currently in a train on my MBp (so no VS too ;). I will look at all this later today or tomorrow. And yes, we will look into finding the best way to add this to the addon.

smallfly commented 7 years ago

Hey Jeremy,

I'm finally coming back to this. I have done some changes to the master branch today (in order to use glm) and then I made a new branch to implement this - https://github.com/smallfly/ofxOpenVR/tree/feature-hdm_translation . I was going to use your PR, but I did not as I decided to move things around quite a bit.

Anyway... This is a WIP. There are few issues still, for example with the Vive:

I will continue to work on this,

Cheers.