mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-12 19:31:41 +00:00
Merge pull request #1688 from jamesu/dx11_openvr_pr
Basic OpenVR Support code
This commit is contained in:
commit
7e4095d610
74 changed files with 5987 additions and 1384 deletions
|
|
@ -214,8 +214,26 @@ void Frustum::setNearFarDist( F32 nearDist, F32 farDist )
|
|||
return;
|
||||
|
||||
// Recalculate the frustum.
|
||||
MatrixF xfm( mTransform );
|
||||
set( mIsOrtho, getFov(), getAspectRatio(), nearDist, farDist, xfm );
|
||||
MatrixF xfm( mTransform );
|
||||
|
||||
const F32 CENTER_EPSILON = 0.001;
|
||||
F32 centerX = mNearLeft + (mNearRight - mNearLeft) * 0.5;
|
||||
F32 centerY = mNearBottom + (mNearTop - mNearBottom) * 0.5;
|
||||
if ((centerX > CENTER_EPSILON || centerX < -CENTER_EPSILON) || (centerY > CENTER_EPSILON || centerY < -CENTER_EPSILON) )
|
||||
{
|
||||
// Off-center projection, so re-calc use the new distances
|
||||
FovPort expectedFovPort;
|
||||
expectedFovPort.leftTan = -(mNearLeft / mNearDist);
|
||||
expectedFovPort.rightTan = (mNearRight / mNearDist);
|
||||
expectedFovPort.upTan = (mNearTop / mNearDist);
|
||||
expectedFovPort.downTan = -(mNearBottom / mNearDist);
|
||||
MathUtils::makeFovPortFrustum(this, mIsOrtho, nearDist, farDist, expectedFovPort);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Projection is not off-center, use the normal code
|
||||
set(mIsOrtho, getFov(), getAspectRatio(), nearDist, farDist, xfm);
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue