#include <OgreCubemapProbe.h>
|
| CubemapProbe (ParallaxCorrectedCubemap *creator) |
|
| ~CubemapProbe () |
|
void | _addReference (void) |
|
void | _clearCubemap (void) |
|
void | _prepareForRendering (void) |
|
void | _removeReference (void) |
|
void | _updateRender (void) |
|
void | destroyWorkspace (void) |
|
const Aabb & | getArea (void) const |
|
const Vector3 & | getAreaInnerRegion (void) const |
|
Aabb | getAreaLS (void) const |
|
ConstBufferPacked * | getConstBufferForManualProbes (void) |
|
TexturePtr | getInternalTexture (void) const |
|
Real | getNDF (const Vector3 &posLS) const |
| Gets the Normalized Distance Function.
|
|
const Matrix3 & | getOrientation (void) const |
|
const Vector3 & | getProbeCameraPos (void) const |
|
const Aabb & | getProbeShape (void) const |
|
bool | getStatic (void) const |
|
void | initWorkspace (float cameraNear=0.5f, float cameraFar=500.0f, IdString workspaceDefOverride=IdString()) |
| Initializes the workspace so we can actually render to the cubemap.
|
|
bool | isInitialized (void) const |
|
void | operator delete (void *ptr) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
void * | operator new (size_t sz) |
|
void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info
|
|
void * | operator new (size_t sz, void *ptr) |
| placement operator new
|
|
void * | operator new[] (size_t sz) |
|
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info
|
|
void | set (const Vector3 &cameraPos, const Aabb &area, const Vector3 &areaInnerRegion, const Matrix3 &orientation, const Aabb &probeShape) |
| Sets cubemap probe's parameters.
|
|
void | setStatic (bool isStatic) |
| Set to False if it should be updated every frame.
|
|
void | setTextureParams (uint32 width, uint32 height, bool useManual=false, PixelFormat pf=PF_A8B8G8R8, bool isStatic=true, uint8 fsaa=0) |
|
|
bool | mDirty |
| True if we must re-render to update the texture's contents. False when we don't.
|
|
bool | mEnabled |
| While disabled, this probe won't be updated (even if dirty) and won't be considered for blending (i.e.
|
|
uint32 | mMask |
| Mask to group probes.
|
|
uint16 | mNumIterations |
| Number of iterations.
|
|
◆ CubemapProbe()
◆ ~CubemapProbe()
Ogre::CubemapProbe::~CubemapProbe |
( |
| ) |
|
◆ _addReference()
void Ogre::CubemapProbe::_addReference |
( |
void |
| ) |
|
◆ _clearCubemap()
void Ogre::CubemapProbe::_clearCubemap |
( |
void |
| ) |
|
◆ _prepareForRendering()
void Ogre::CubemapProbe::_prepareForRendering |
( |
void |
| ) |
|
◆ _removeReference()
void Ogre::CubemapProbe::_removeReference |
( |
void |
| ) |
|
◆ _updateRender()
void Ogre::CubemapProbe::_updateRender |
( |
void |
| ) |
|
◆ destroyWorkspace()
void Ogre::CubemapProbe::destroyWorkspace |
( |
void |
| ) |
|
◆ getArea()
◆ getAreaInnerRegion()
◆ getAreaLS()
Aabb Ogre::CubemapProbe::getAreaLS |
( |
void |
| ) |
const |
|
inline |
◆ getConstBufferForManualProbes()
◆ getInternalTexture()
◆ getNDF()
Gets the Normalized Distance Function.
- Parameters
-
posLS | Position, in local space (relative to this probe) |
- Returns
- Interpretation: <=0 means we're inside the inner range, or in its border. Range (0; 1) we're between inner and outer range. >=1 means we're outside the object.
◆ getOrientation()
◆ getProbeCameraPos()
◆ getProbeShape()
◆ getStatic()
bool Ogre::CubemapProbe::getStatic |
( |
void |
| ) |
const |
|
inline |
◆ initWorkspace()
Initializes the workspace so we can actually render to the cubemap.
You must call setTextureParams first.
- Parameters
-
workspaceDefOverride | Pass a null IdString() to use the default workspace definition passed to ParallaxCorrectedCubemap. This value allows you to override it with a different workspace definition. |
◆ isInitialized()
bool Ogre::CubemapProbe::isInitialized |
( |
void |
| ) |
const |
◆ operator delete() [1/3]
◆ operator delete() [2/3]
◆ operator delete() [3/3]
◆ operator delete[]() [1/2]
◆ operator delete[]() [2/2]
◆ operator new() [1/3]
◆ operator new() [2/3]
operator new, with debug line info
◆ operator new() [3/3]
◆ operator new[]() [1/2]
◆ operator new[]() [2/2]
array operator new, with debug line info
◆ set()
Sets cubemap probe's parameters.
- Parameters
-
cameraPos | Specify where the camera will be positioned. |
area | When the camera enters this area, the probe is collected for blending. |
areaInnerRegion | A value in range [0; 1]. It indicates a % of the OBB's size that will have smooth interpolation with other probes. When region = 1.0; stepping outside the OBB's results in a lighting "pop". The smaller the value, the smoother the transition, but at the cost of quality & precision while inside the OBB (as results get mixed up with other probes'). The value is per axis. |
orientation | The orientation of the AABB that makes it an OBB. This orientation is applied to both probeShape AND area. Skewing and shearing is not tested. May or may not work. |
probeShape | Note AABB is actually an OBB (Oriented Bounding Box). See orientation parameter. The OBB should closely match the shape of the environment around it. The better it fits, the more accurate the reflections. |
◆ setStatic()
void Ogre::CubemapProbe::setStatic |
( |
bool |
isStatic | ) |
|
Set to False if it should be updated every frame.
True if only updated when dirty
◆ setTextureParams()
- Parameters
-
width | |
height | |
pf | |
isStatic | Set to False if it should be updated every frame. True if only updated when dirty |
fsaa | |
useManual | Set to true if you plan on using thie probe for manually rendering, so we keep mipmaps at the probe level. User is responsible for supplying a workspace definition that will generate mipmaps though! |
◆ ParallaxCorrectedCubemap
◆ mDirty
bool Ogre::CubemapProbe::mDirty |
True if we must re-render to update the texture's contents. False when we don't.
◆ mEnabled
bool Ogre::CubemapProbe::mEnabled |
While disabled, this probe won't be updated (even if dirty) and won't be considered for blending (i.e.
won't be used at all).
◆ mMask
uint32 Ogre::CubemapProbe::mMask |
Mask to group probes.
This probe will only be updated (even if dirty) and blended if mMask & system->mMask is non-zero. Useful for example for probes to be used during the day while other probes to be used during the night; thus you only want one group to be active at the same time. Or if you have per room probes, but during a panoramic shot where many rooms are in sight, and you want a more "global" probe. Defaults to 0xffffffff
◆ mNumIterations
uint16 Ogre::CubemapProbe::mNumIterations |
Number of iterations.
The more iterations, the more light bounces and light reflections we can capture (i.e. mirror of mirrors), but it will take longer to rebuild the probe. Default value is 32. For non-static probes, you should set this value to 1 for performance.
The documentation for this class was generated from the following file: