ReflectionManager
Engine/source/scene/reflectionManager.h
Protected Static Attributes
ReflectionManager tries not to spend more than this amount of time updating reflections per frame.
RefractTex has dimensions equal to the active render target scaled in both x and y by this float.
Protected Attributes
Platform time in milliseconds of the last update.
The texture format to use for reflection and refraction texture sources.
All registered reflections which we handle updating.
Refraction texture copied from the backbuffer once per frame that gets used by all WaterObjects.
A timer used for tracking update time.
bool
Set when the refraction texture is dirty and requires an update.
Public Functions
allocRenderTarget(const Point2I & size)
Returns the current reflection format.
getReflectionMaterial(BaseMatInstance * inMat)
getRefractTex(bool forceUpdate)
registerReflector(ReflectorBase * reflector)
setReflectFormat(GFXFormat format)
Called to change the reflection texture format.
unregisterReflector(ReflectorBase * reflector)
Public Static Functions
const char *
Protected Functions
Detailed Description
Protected Static Attributes
U32 smFrameReflectionMS
ReflectionManager tries not to spend more than this amount of time updating reflections per frame.
F32 smRefractTexScale
RefractTex has dimensions equal to the active render target scaled in both x and y by this float.
Protected Attributes
U32 mLastUpdateMs
Platform time in milliseconds of the last update.
GFXFormat mReflectFormat
The texture format to use for reflection and refraction texture sources.
ReflectorList mReflectors
All registered reflections which we handle updating.
GFXTexHandle mRefractTex
Refraction texture copied from the backbuffer once per frame that gets used by all WaterObjects.
PlatformTimer * mTimer
A timer used for tracking update time.
bool mUpdateRefract
Set when the refraction texture is dirty and requires an update.
Public Functions
ReflectionManager()
~ReflectionManager()
allocRenderTarget(const Point2I & size)
getLastUpdateMs()
getReflectFormat()
Returns the current reflection format.
getReflectionMaterial(BaseMatInstance * inMat)
getRefractTex(bool forceUpdate)
registerReflector(ReflectorBase * reflector)
setReflectFormat(GFXFormat format)
Called to change the reflection texture format.
unregisterReflector(ReflectorBase * reflector)
update(F32 timeSlice, const Point2I & resolution, const CameraQuery & query)
Doll out callbacks to registered objects based on scoring and elapsed time.
This should be called once for each viewport that renders.