mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-13 03:33:48 +00:00
PlaneReflector Support for Side-by-Side Rendering
- The PlaneReflector class now supports side-by-side rendering. This does mean that while in this rendering style that all planar reflections are rendered twice, as reflection is a screen space effect from the eye point of view. - Planar reflections now work in the Oculus Rift. - Modified GuiTSCtrl::onRender() to move up where the rendering style is defined to just before the reflection manager has its turn.
This commit is contained in:
parent
15673810c6
commit
2fc5adb536
3 changed files with 153 additions and 72 deletions
|
|
@ -316,6 +316,21 @@ void GuiTSCtrl::onRender(Point2I offset, const RectI &updateRect)
|
|||
return;
|
||||
}
|
||||
|
||||
// Set up the appropriate render style
|
||||
U32 prevRenderStyle = GFX->getCurrentRenderStyle();
|
||||
Point2F prevProjectionOffset = GFX->getCurrentProjectionOffset();
|
||||
Point3F prevEyeOffset = GFX->getStereoEyeOffset();
|
||||
if(mRenderStyle == RenderStyleStereoSideBySide)
|
||||
{
|
||||
GFX->setCurrentRenderStyle(GFXDevice::RS_StereoSideBySide);
|
||||
GFX->setCurrentProjectionOffset(mLastCameraQuery.projectionOffset);
|
||||
GFX->setStereoEyeOffset(mLastCameraQuery.eyeOffset);
|
||||
}
|
||||
else
|
||||
{
|
||||
GFX->setCurrentRenderStyle(GFXDevice::RS_Standard);
|
||||
}
|
||||
|
||||
if ( mReflectPriority > 0 )
|
||||
{
|
||||
// Get the total reflection priority.
|
||||
|
|
@ -338,21 +353,6 @@ void GuiTSCtrl::onRender(Point2I offset, const RectI &updateRect)
|
|||
mLastCameraQuery.cameraMatrix.mul(rotMat);
|
||||
}
|
||||
|
||||
// Set up the appropriate render style
|
||||
U32 prevRenderStyle = GFX->getCurrentRenderStyle();
|
||||
Point2F prevProjectionOffset = GFX->getCurrentProjectionOffset();
|
||||
Point3F prevEyeOffset = GFX->getStereoEyeOffset();
|
||||
if(mRenderStyle == RenderStyleStereoSideBySide)
|
||||
{
|
||||
GFX->setCurrentRenderStyle(GFXDevice::RS_StereoSideBySide);
|
||||
GFX->setCurrentProjectionOffset(mLastCameraQuery.projectionOffset);
|
||||
GFX->setStereoEyeOffset(mLastCameraQuery.eyeOffset);
|
||||
}
|
||||
else
|
||||
{
|
||||
GFX->setCurrentRenderStyle(GFXDevice::RS_Standard);
|
||||
}
|
||||
|
||||
// set up the camera and viewport stuff:
|
||||
F32 wwidth;
|
||||
F32 wheight;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue