Put stereo render loop inside ryzom client main loop, see #43
This commit is contained in:
parent
541f75920b
commit
c3f6f5b8ff
2 changed files with 536 additions and 462 deletions
|
@ -438,8 +438,17 @@ void CStereoOVR::getCurrentMatrix(uint cid, NL3D::UCamera *camera) const
|
||||||
CMatrix translate;
|
CMatrix translate;
|
||||||
if (m_Stage % 2) translate.translate(CVector((m_DevicePtr->HMDInfo.InterpupillaryDistance * m_Scale) * -0.5f, 0.f, 0.f));
|
if (m_Stage % 2) translate.translate(CVector((m_DevicePtr->HMDInfo.InterpupillaryDistance * m_Scale) * -0.5f, 0.f, 0.f));
|
||||||
else translate.translate(CVector((m_DevicePtr->HMDInfo.InterpupillaryDistance * m_Scale) * 0.5f, 0.f, 0.f));
|
else translate.translate(CVector((m_DevicePtr->HMDInfo.InterpupillaryDistance * m_Scale) * 0.5f, 0.f, 0.f));
|
||||||
camera->setTransformMode(NL3D::UTransformable::DirectMatrix);
|
CMatrix mat = m_CameraMatrix[cid] * translate;
|
||||||
camera->setMatrix(m_CameraMatrix[cid] * translate);
|
if (camera->getTransformMode() == NL3D::UTransformable::RotQuat)
|
||||||
|
{
|
||||||
|
camera->setPos(mat.getPos());
|
||||||
|
camera->setRotQuat(mat.getRot());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// camera->setTransformMode(NL3D::UTransformable::DirectMatrix);
|
||||||
|
camera->setMatrix(mat);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CStereoOVR::wantClear()
|
bool CStereoOVR::wantClear()
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue