OGRE
2.2.4
Object-Oriented Graphics Rendering Engine
|
#include <OgreParallaxCorrectedCubemapBase.h>
Public Member Functions | |
ParallaxCorrectedCubemapBase (IdType id, Root *root, SceneManager *sceneManager, const CompositorWorkspaceDef *probeWorkspaceDef, bool automaticMode) | |
virtual | ~ParallaxCorrectedCubemapBase () |
virtual TextureGpu * | _acquireTextureSlot (uint16 &outTexSlot) |
Acquires a texture with a given slot. More... | |
virtual void | _addManuallyActiveProbe (CubemapProbe *probe) |
virtual void | _copyRenderTargetToCubemap (uint32 cubemapArrayIdx) |
virtual void | _notifyPreparePassHash (const Matrix4 &viewMatrix) |
virtual void | _releaseTextureSlot (TextureGpu *texture, uint32 texSlot) |
virtual void | _removeManuallyActiveProbe (CubemapProbe *probe) |
void | _setIsRendering (bool bIsRendering) |
void | _setProbeRenderInProgress (CubemapProbe *probe) |
virtual void | allWorkspacesBeforeBeginUpdate (void) |
Called from CompositorManager2 (not CompositorWorkspace) when we're about to begin updating all the workspaces. More... | |
virtual void | allWorkspacesBeginUpdate (void) |
Called from CompositorManager2 (not CompositorWorkspace) when we're about to update all the workspaces (it's safe to update your own workspaces without calling _beginUpdate and _endUpdate) Warning: Don't add/remove listeners to CompositorManager2 inside this function. More... | |
CubemapProbe * | createProbe (void) |
Adds a cubemap probe. More... | |
virtual void | destroyAllProbes (void) |
virtual void | destroyProbe (CubemapProbe *probe) |
virtual void | fillConstBufferData (const Matrix4 &viewMatrix, float *RESTRICT_ALIAS passBufferPtr) const |
virtual TextureGpu * | findIbl (const TextureGpu *baseParams) |
virtual TextureGpu * | findTmpRtt (const TextureGpu *baseParams) |
See mTmpRtt. More... | |
bool | getAutomaticMode (void) const |
TextureGpu * | getBindTexture (void) const |
const HlmsSamplerblock * | getBindTrilinearSamplerblock (void) |
virtual size_t | getConstBufferSize (void) |
const CompositorWorkspaceDef * | getDefaultWorkspaceDef (void) const |
uint32 | getIblTargetTextureFlags (PixelFormatGpu pixelFormat) const |
IdType | getId () const |
Get the unique id of this object. More... | |
const CubemapProbeVec & | getProbes (void) const |
SceneManager * | getSceneManager (void) const |
bool | getUseDpm2DArray (void) const |
bool | isRendering (void) const |
Inform whether we're currently updating a probe. More... | |
bool | operator() (const IdObject *left, const IdObject *right) |
bool | operator() (const IdObject &left, const IdObject &right) |
virtual void | passEarlyPreExecute (CompositorPass *pass) |
Called early on in pass' execution. More... | |
virtual void | passPosExecute (CompositorPass *pass) |
Called after a pass has been executed. More... | |
virtual void | passPreExecute (CompositorPass *pass) |
Called when each pass is about to be executed. More... | |
virtual void | passSceneAfterFrustumCulling (CompositorPassScene *pass) |
Called after a pass scene has performed frustum caulling but has yet to prepare and execute rendering commands. More... | |
virtual void | passSceneAfterShadowMaps (CompositorPassScene *pass) |
Called after a pass scene has rendered shadow casting (it gets called even if there is no shadow node). More... | |
virtual void | prepareForClearScene (void) |
Destroys the Proxy Items. More... | |
virtual void | releaseIbl (const TextureGpu *tmpRtt) |
virtual void | releaseTmpRtt (const TextureGpu *tmpRtt) |
virtual void | restoreFromClearScene (void) |
virtual void | workspacePosUpdate (CompositorWorkspace *workspace) |
Called after all nodes has been updated. More... | |
virtual void | workspacePreUpdate (CompositorWorkspace *workspace) |
Called before all nodes are going to be updated. More... | |
Static Public Member Functions | |
static void | fillConstBufferData (const CubemapProbe &probe, const Matrix4 &viewMatrix, const Matrix3 &invViewMat3, float *RESTRICT_ALIAS passBufferPtr) |
static uint8 | getIblNumMipmaps (uint32 width, uint32 height) |
Public Attributes | |
uint32 | mMask |
bool | mPaused |
Ogre::ParallaxCorrectedCubemapBase::ParallaxCorrectedCubemapBase | ( | IdType | id, |
Root * | root, | ||
SceneManager * | sceneManager, | ||
const CompositorWorkspaceDef * | probeWorkspaceDef, | ||
bool | automaticMode | ||
) |
|
virtual |
|
virtual |
Acquires a texture with a given slot.
outTexSlot | [out] Texture slot. Value is left untouched if return value is nullptr |
Reimplemented in Ogre::ParallaxCorrectedCubemapAuto.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemapAuto.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemapAuto.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
inline |
|
inline |
|
inlinevirtualinherited |
Called from CompositorManager2 (not CompositorWorkspace) when we're about to begin updating all the workspaces.
You'll have to manage the RenderSystem and SceneManager to call the adequate begin/end calls Warning: Don't add/remove listeners to CompositorManager2 inside this function.
Reimplemented in Ogre::ParallaxCorrectedCubemap, and Ogre::ParallaxCorrectedCubemapAuto.
|
inlinevirtualinherited |
Called from CompositorManager2 (not CompositorWorkspace) when we're about to update all the workspaces (it's safe to update your own workspaces without calling _beginUpdate and _endUpdate) Warning: Don't add/remove listeners to CompositorManager2 inside this function.
Reimplemented in Ogre::ParallaxCorrectedCubemap, and Ogre::ParallaxCorrectedCubemapAuto.
CubemapProbe* Ogre::ParallaxCorrectedCubemapBase::createProbe | ( | void | ) |
Adds a cubemap probe.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemapAuto.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
static |
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap, and Ogre::ParallaxCorrectedCubemapAuto.
|
virtual |
See mTmpRtt.
Finds an RTT that is compatible to copy to baseParams. Creates one if none found.
Reimplemented in Ogre::ParallaxCorrectedCubemap, and Ogre::ParallaxCorrectedCubemapAuto.
|
inline |
|
inline |
|
inline |
References RESTRICT_ALIAS.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
const CompositorWorkspaceDef* Ogre::ParallaxCorrectedCubemapBase::getDefaultWorkspaceDef | ( | void | ) | const |
|
static |
uint32 Ogre::ParallaxCorrectedCubemapBase::getIblTargetTextureFlags | ( | PixelFormatGpu | pixelFormat | ) | const |
|
inlineinherited |
Get the unique id of this object.
|
inline |
SceneManager* Ogre::ParallaxCorrectedCubemapBase::getSceneManager | ( | void | ) | const |
|
inline |
|
inline |
Inform whether we're currently updating a probe.
Some Hlms / PCC combinations should not perform PCC while rendering, either because the RenderTarget is the same as the cubemap texture, or because other glitches may occur
|
inlinevirtualinherited |
Called early on in pass' execution.
Happens before passPreExecute, before the pass has set anything. Warning: calling pass->execute can result in recursive calls.
|
inlinevirtualinherited |
Called after a pass has been executed.
Warning: calling pass->execute can result in recursive calls.
|
virtual |
Called when each pass is about to be executed.
Warning: calling pass->execute can result in recursive calls.
Reimplemented from Ogre::CompositorWorkspaceListener.
Reimplemented in Ogre::ParallaxCorrectedCubemap, and Ogre::ParallaxCorrectedCubemapAuto.
|
inlinevirtualinherited |
Called after a pass scene has performed frustum caulling but has yet to prepare and execute rendering commands.
Gets called after passSceneAfterFrustumCulling and before passPosExecute
Warning: calling pass->execute can result in recursive calls.
|
inlinevirtualinherited |
Called after a pass scene has rendered shadow casting (it gets called even if there is no shadow node).
Gets called after passPreExecute and before passSceneAfterFrustumCulling
Warning: calling pass->execute can result in recursive calls.
|
virtual |
Destroys the Proxy Items.
Useful if you need to call sceneManager->clearScene(); The you MUST call this function before. i.e. pcc->prepareForClearScene(); sceneManager->clearScene(); pcc->restoreFromClearScene(); Updating ParallaxCorrectedCubemap without calling prepareForClearScene/restoreFromClearScene will result in a crash.
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap, and Ogre::ParallaxCorrectedCubemapAuto.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap, and Ogre::ParallaxCorrectedCubemapAuto.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
inlinevirtualinherited |
Called after all nodes has been updated.
|
inlinevirtualinherited |
Called before all nodes are going to be updated.
Use this place to update your own, manually updated Workspaces without having to call ::_beginUpdate( forceBeginFrame=true )
uint32 Ogre::ParallaxCorrectedCubemapBase::mMask |
bool Ogre::ParallaxCorrectedCubemapBase::mPaused |