mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-13 11:43:49 +00:00
Use correct multiplication order for eye transform. Also fix displayDevice not set bug.
This commit is contained in:
parent
9e5eda9a08
commit
9f49a7844e
2 changed files with 7 additions and 2 deletions
|
|
@ -343,7 +343,7 @@ OpenVRProvider::OpenVRProvider() :
|
|||
INPUTMGR->registerDevice(this);
|
||||
dMemset(&mLUID, '\0', sizeof(mLUID));
|
||||
|
||||
mTrackingSpace = vr::TrackingUniverseSeated;
|
||||
mTrackingSpace = vr::TrackingUniverseStanding;
|
||||
}
|
||||
|
||||
OpenVRProvider::~OpenVRProvider()
|
||||
|
|
@ -586,7 +586,7 @@ void OpenVRProvider::getFrameEyePose(IDevicePose *pose, U32 eye) const
|
|||
{
|
||||
AssertFatal(eye >= 0 && eye < 2, "Out of bounds eye");
|
||||
|
||||
MatrixF mat = mHMDRenderState.mHMDPose * mHMDRenderState.mEyePose[eye];
|
||||
MatrixF mat = mHMDRenderState.mEyePose[eye] * mHMDRenderState.mHMDPose; // same order as in the openvr example
|
||||
|
||||
OpenVRTransformToRotPos(mat, pose->orientation, pose->position);
|
||||
pose->velocity = Point3F(0);
|
||||
|
|
@ -603,6 +603,9 @@ void OpenVRProvider::getEyeOffsets(Point3F *dest) const
|
|||
{
|
||||
dest[0] = mHMDRenderState.mEyePose[0].getPosition();
|
||||
dest[1] = mHMDRenderState.mEyePose[1].getPosition();
|
||||
|
||||
dest[0] = Point3F(-dest[0].x, dest[0].y, dest[0].z); // convert from vr-space
|
||||
dest[1] = Point3F(-dest[1].x, dest[1].y, dest[1].z);
|
||||
}
|
||||
|
||||
bool OpenVRProvider::providesFovPorts() const
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue