mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-16 00:54:54 +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
|
|
@ -529,6 +529,8 @@ void GuiTSCtrl::onRender(Point2I offset, const RectI &updateRect)
|
||||||
GFXTransformSaver saver;
|
GFXTransformSaver saver;
|
||||||
bool renderingToTarget = false;
|
bool renderingToTarget = false;
|
||||||
|
|
||||||
|
mLastCameraQuery.displayDevice = NULL;
|
||||||
|
|
||||||
if (!processCameraQuery(&mLastCameraQuery))
|
if (!processCameraQuery(&mLastCameraQuery))
|
||||||
{
|
{
|
||||||
// We have no camera, but render the GUI children
|
// We have no camera, but render the GUI children
|
||||||
|
|
|
||||||
|
|
@ -343,7 +343,7 @@ OpenVRProvider::OpenVRProvider() :
|
||||||
INPUTMGR->registerDevice(this);
|
INPUTMGR->registerDevice(this);
|
||||||
dMemset(&mLUID, '\0', sizeof(mLUID));
|
dMemset(&mLUID, '\0', sizeof(mLUID));
|
||||||
|
|
||||||
mTrackingSpace = vr::TrackingUniverseSeated;
|
mTrackingSpace = vr::TrackingUniverseStanding;
|
||||||
}
|
}
|
||||||
|
|
||||||
OpenVRProvider::~OpenVRProvider()
|
OpenVRProvider::~OpenVRProvider()
|
||||||
|
|
@ -586,7 +586,7 @@ void OpenVRProvider::getFrameEyePose(IDevicePose *pose, U32 eye) const
|
||||||
{
|
{
|
||||||
AssertFatal(eye >= 0 && eye < 2, "Out of bounds eye");
|
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);
|
OpenVRTransformToRotPos(mat, pose->orientation, pose->position);
|
||||||
pose->velocity = Point3F(0);
|
pose->velocity = Point3F(0);
|
||||||
|
|
@ -603,6 +603,9 @@ void OpenVRProvider::getEyeOffsets(Point3F *dest) const
|
||||||
{
|
{
|
||||||
dest[0] = mHMDRenderState.mEyePose[0].getPosition();
|
dest[0] = mHMDRenderState.mEyePose[0].getPosition();
|
||||||
dest[1] = mHMDRenderState.mEyePose[1].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
|
bool OpenVRProvider::providesFovPorts() const
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue