- Fix for issue https://github.com/GarageGames/Torque3D/issues/525 This
fix takes into account the skewed view into the world when you have a
projection offset and the ability to see further into the scene at the
edges opposite to the offset.
- SceneCullingState now has two frustum rather than one: a culling
frustum and camera frustum.
- The camera frustum should be referenced when you need the projection
matrix or don't want a skewed frustum.
- The culling frustum should be referenced during any scene culling or
when determining what dynamic geometry to render. It currently skews
itself to take into account any projection offset (automatically
calculated in SceneCullingState constructor).
- When there is no projection offset, the camera frustum and culling
frustum are the same. This usually means any time when not using the
Oculus Rift.
- PostEffect class now offers the current projection offset and target
viewport as shader constants.
- Turbulence postFX now takes the current projection offset into
account.
- Turbulence postFX now clamps itself to the current viewport.
- Turbulence postFX now renders after the glow bin, specifically after
the glow postFX renders. This ensures that it can take advantage of
knowing the current viewport rather than affecting the entire render
target.
- Added an option for a postFX to get its viewport from a named texture
in slot 0, if there is one. This allows the postFX to operate when the
named input texture's viewport is different than the current viewport.
- Modified the SSAO postFX to use the new
PFXTargetViewport_NamedInTexture0 option to more closely link SSAO with
the prepass buffer.
- Modifed the GFX method setActiveRenderTarget() with a new parameter
that indicates if the current viewport should be modified with the new
rendering target. This defaults to true to maintain its previous
behaviour. The postFX rendering pipeline sets this to false as it now
handles its own viewport setup, and removes an unnecessary
GFX->setViewport() call.
- General fix for PostFX render targets to properly support the GFX
viewport setting. This is an opt-in change through the use of the new
mTargetViewport property as most PostFX run fine with their assumption
of the viewport being the whole rendering target.
- The SSAO PostFX has been modified to use the new mTargetViewport
property. This allows correct rendering in a side-by-side view such as
with the Oculus Rift, or any other constrained viewport rendering.
Removing the "using namespace Torque" from header file to prevent issues
with certain engine addons conflicting with ::UUID defined by windows
and Torque::UUID defined by T3D.
- Side by side rendering implemented throughout the graphics pipeline.
- New GuiTSCtrl renderStyle property is set to "stereo side by side" to
activate.
- You set an IDisplayDevice on the GameConnection to define any vertical
FOV, projection offset, and stereo eye offset properties required for
the stereo rendering (no display device included with this commit).
- Full and Empty templates updated with correct scripts and shaders.