OGRE-Next
4.0.0unstable
Object-Oriented Graphics Rendering Engine
|
#include <OgreParallaxCorrectedCubemapBase.h>
Public Member Functions | |
ParallaxCorrectedCubemapBase (IdType id, Root *root, SceneManager *sceneManager, const CompositorWorkspaceDef *probeWorkspaceDef, bool automaticMode) | |
~ParallaxCorrectedCubemapBase () override | |
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 | _releaseManualHardwareResources () |
virtual void | _releaseTextureSlot (TextureGpu *texture, uint32 texSlot) |
virtual void | _removeManuallyActiveProbe (CubemapProbe *probe) |
virtual void | _restoreManualHardwareResources () |
void | _setIsRendering (bool bIsRendering) |
void | _setProbeRenderInProgress (CubemapProbe *probe) |
CubemapProbe * | createProbe () |
Adds a cubemap probe. More... | |
virtual void | destroyAllProbes () |
virtual void | destroyProbe (CubemapProbe *probe) |
void | eventOccurred (const String &eventName, const NameValuePairList *parameters) override |
A rendersystem-specific event occurred. More... | |
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 () const |
TextureGpu * | getBindTexture () const |
const HlmsSamplerblock * | getBindTrilinearSamplerblock () |
virtual size_t | getConstBufferSize () |
const CompositorWorkspaceDef * | getDefaultWorkspaceDef () const |
uint32 | getIblTargetTextureFlags (PixelFormatGpu pixelFormat) const |
const CubemapProbeVec & | getProbes () const |
SceneManager * | getSceneManager () const |
bool | getUseDpm2DArray () const |
bool | isRendering () const |
Inform whether we're currently updating a probe. More... | |
void | passPreExecute (CompositorPass *pass) override |
Called when each pass is about to be executed. More... | |
virtual void | prepareForClearScene () |
Destroys the Proxy Items. More... | |
virtual void | releaseIbl (const TextureGpu *tmpRtt) |
virtual void | releaseTmpRtt (const TextureGpu *tmpRtt) |
virtual void | restoreFromClearScene () |
virtual void | updateAllDirtyProbes ()=0 |
By default the probes will be constructed when the user enters its vecinity. More... | |
Public Member Functions inherited from Ogre::IdObject | |
IdObject (IdType id) | |
We don't call generateNewId() here, to prevent objects in the stack (i.e. More... | |
IdType | getId () const |
Get the unique id of this object. More... | |
bool | operator() (const IdObject &left, const IdObject &right) |
bool | operator() (const IdObject *left, const IdObject *right) |
Public Member Functions inherited from Ogre::RenderSystem::Listener | |
Listener () | |
virtual | ~Listener () |
Public Member Functions inherited from Ogre::CompositorWorkspaceListener | |
virtual void | allWorkspacesBeforeBeginUpdate () |
Called from CompositorManager2 (not CompositorWorkspace) when we're about to begin updating all the workspaces. More... | |
virtual void | allWorkspacesBeginUpdate () |
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... | |
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 | 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 | 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 | ||
) |
|
override |
|
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::ParallaxCorrectedCubemap.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemapAuto.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
inline |
|
inline |
CubemapProbe* Ogre::ParallaxCorrectedCubemapBase::createProbe | ( | ) |
Adds a cubemap probe.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemapAuto.
|
overridevirtual |
A rendersystem-specific event occurred.
eventName | The name of the event which has occurred |
parameters | A list of parameters that may belong to this event, may be null if there are no parameters |
Implements Ogre::RenderSystem::Listener.
|
static |
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemapAuto, and Ogre::ParallaxCorrectedCubemap.
|
virtual |
See mTmpRtt.
Finds an RTT that is compatible to copy to baseParams. Creates one if none found.
Reimplemented in Ogre::ParallaxCorrectedCubemapAuto, and Ogre::ParallaxCorrectedCubemap.
|
inline |
|
inline |
|
inline |
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
const CompositorWorkspaceDef* Ogre::ParallaxCorrectedCubemapBase::getDefaultWorkspaceDef | ( | ) | const |
|
static |
uint32 Ogre::ParallaxCorrectedCubemapBase::getIblTargetTextureFlags | ( | PixelFormatGpu | pixelFormat | ) | const |
|
inline |
SceneManager* Ogre::ParallaxCorrectedCubemapBase::getSceneManager | ( | ) | 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
|
overridevirtual |
Called when each pass is about to be executed.
Warning: calling pass->execute can result in recursive calls.
Reimplemented from Ogre::CompositorWorkspaceListener.
|
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::ParallaxCorrectedCubemapAuto, and Ogre::ParallaxCorrectedCubemap.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemapAuto, and Ogre::ParallaxCorrectedCubemap.
|
virtual |
Reimplemented in Ogre::ParallaxCorrectedCubemap.
|
pure virtual |
By default the probes will be constructed when the user enters its vecinity.
This can cause noticeable stalls. Use this function to regenerate them all at once (i.e. at loading time)
Implemented in Ogre::ParallaxCorrectedCubemapAuto, and Ogre::ParallaxCorrectedCubemap.
uint32 Ogre::ParallaxCorrectedCubemapBase::mMask |
bool Ogre::ParallaxCorrectedCubemapBase::mPaused |