OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Effects

Classes

struct  Ogre::CompositorNamedBuffer
 
class  Ogre::CompositorNode
 Compositor nodes are the core subject of compositing. More...
 
class  Ogre::CompositorNodeDef
 Compositor nodes are the core subject of compositing. More...
 
class  Ogre::CompositorPass
 Abstract class for compositor passes. More...
 
class  Ogre::CompositorPassClear
 Implementation of CompositorPass This implementation will clear the RenderTarget using the parameters from definition (rectangle area, which buffers, what values, etc) More...
 
class  Ogre::CompositorPassClearDef
 
class  Ogre::CompositorPassCompute
 Implementation of CompositorPass This implementation will render a fullscreen triangle/quad to the RenderTarget using the parameters from definition (rectangle area, whether triangle or quad pass, whether to include frustum corners, etc) More...
 
class  Ogre::CompositorPassComputeDef
 
class  Ogre::CompositorPassDef
 Interface to abstract all types of pass definitions (see CompositorPassType): More...
 
class  Ogre::CompositorPassDepthCopy
 Implementation of CompositorPass This implementation will copy one DepthBuffer to another DepthBuffer from two RTs. More...
 
class  Ogre::CompositorPassDepthCopyDef
 
class  Ogre::CompositorPassIblSpecular
 Implementation of CompositorPass This implementation will generate IblSpeculars for the specified texture. More...
 
class  Ogre::CompositorPassIblSpecularDef
 
class  Ogre::CompositorPassMipmap
 Implementation of CompositorPass This implementation will generate mipmaps for the specified texture. More...
 
class  Ogre::CompositorPassMipmapDef
 
class  Ogre::CompositorPassQuad
 Implementation of CompositorPass This implementation will render a fullscreen triangle/quad to the RenderTarget using the parameters from definition (rectangle area, whether triangle or quad pass, whether to include frustum corners, etc) More...
 
class  Ogre::CompositorPassQuadDef
 
class  Ogre::CompositorPassScene
 Implementation of CompositorPass This implementation will perform main rendering, selecting several parameters (like viewport's visibility mask, first and last render queue to render) it will render the main scene. More...
 
class  Ogre::CompositorPassSceneDef
 
class  Ogre::CompositorPassShadows
 CompositorPassShadows This class enables force-updating multiple shadow nodes in batch in its own pass. More...
 
class  Ogre::CompositorPassShadowsDef
 
class  Ogre::CompositorPassStencil
 Implementation of CompositorPass This implementation will clear the RenderTarget using the parameters from definition (rectangle area, which buffers, what values, etc) More...
 
class  Ogre::CompositorPassStencilDef
 
class  Ogre::CompositorPassTargetBarrier
 
class  Ogre::CompositorPassTargetBarrierDef
 
class  Ogre::CompositorPassUav
 Implementation of CompositorPass This implementation will set UAVs. More...
 
class  Ogre::CompositorPassUavDef
 
class  Ogre::CompositorPassWarmUp
 Implementation of CompositorPass. More...
 
class  Ogre::CompositorPassWarmUpDef
 
class  Ogre::CompositorShadowNode
 Shadow Nodes are special nodes (not to be confused with CompositorNode) that are only used for rendering shadow maps. More...
 
class  Ogre::CompositorShadowNodeDef
 Shadow Nodes are special nodes (not to be confused with. More...
 
class  Ogre::CompositorTargetDef
 
struct  Ogre::CompositorTexture
 
class  Ogre::CompositorWorkspace
 A compositor workspace is the main interface to render into an RT, be it a RenderWindow or an RTT (Render Texture Target). More...
 
class  Ogre::CompositorWorkspaceDef
 
class  Ogre::CompositorWorkspaceListener
 
class  Ogre::CustomCompositionPass
 Interface for custom composition passes, allowing custom operations (in addition to the quad, scene and clear operations) in composition passes. More...
 
class  Ogre::Particle
 Class representing a single particle instance. More...
 
class  Ogre::ParticleAffector
 Abstract class defining the interface to be implemented by particle affectors. More...
 
class  Ogre::ParticleAffectorFactory
 Abstract class defining the interface to be implemented by creators of ParticleAffector subclasses. More...
 
class  Ogre::ParticleEmitter
 Abstract class defining the interface to be implemented by particle emitters. More...
 
class  Ogre::ParticleEmitterFactory
 Abstract class defining the interface to be implemented by creators of ParticleEmitter subclasses. More...
 
class  Ogre::ParticleIterator
 Convenience class to make it easy to step through all particles in a ParticleSystem. More...
 
class  Ogre::ParticleSystem
 Class defining particle system based special effects. More...
 
class  Ogre::ParticleSystemFactory
 Factory object for creating ParticleSystem instances. More...
 
class  Ogre::ParticleSystemManager
 Manages particle systems, particle system scripts (templates) and the available emitter & affector factories. More...
 
class  Ogre::ParticleSystemRenderer
 Abstract class defining the interface required to be implemented by classes which provide rendering capability to ParticleSystem instances. More...
 
class  Ogre::ParticleSystemRendererFactory
 Abstract class definition of a factory object for ParticleSystemRenderer. More...
 
class  Ogre::ParticleVisualData
 Abstract class containing any additional data required to be associated with a particle to perform the required rendering. More...
 
struct  Ogre::RenderTargetViewDef
 
struct  Ogre::RenderTargetViewEntry
 
class  Ogre::ShadowNodeHelper
 
class  Ogre::ShadowTextureDefinition
 Local texture definition. More...
 
class  Ogre::TextureDefinitionBase
 Centralized class for dealing with declarations of textures in Node & Workspace definitions. More...
 
class  Ogre::v1::Billboard
 A billboard is a primitive which always faces the camera in every frame. More...
 
class  Ogre::v1::BillboardChain
 Allows the rendering of a chain of connected billboards. More...
 
class  Ogre::v1::BillboardChainFactory
 Factory object for creating BillboardChain instances. More...
 
class  Ogre::v1::BillboardParticleRenderer
 Specialisation of ParticleSystemRenderer to render particles using a BillboardSet. More...
 
class  Ogre::v1::BillboardParticleRendererFactory
 Factory class for BillboardParticleRenderer. More...
 
class  Ogre::v1::BillboardSet
 A collection of billboards (faces which are always facing the given direction) with the same (default) dimensions, material and which are fairly close proximity to each other. More...
 
class  Ogre::v1::BillboardSetFactory
 Factory object for creating BillboardSet instances. More...
 
class  Ogre::v1::RibbonTrail
 Subclass of BillboardChain which automatically leaves a trail behind one or more Node instances. More...
 
class  Ogre::v1::RibbonTrailFactory
 Factory object for creating RibbonTrail instances. More...
 
class  Ogre::WarmUpHelper
 

Typedefs

typedef vector< uint32 >::type Ogre::ChannelMappings
 
typedef TextureGpuOgre::CompositorChannel
 A channel in the compositor transports textures between nodes. More...
 
typedef vector< CompositorChannel >::type Ogre::CompositorChannelVec
 
typedef vector< CompositorNamedBuffer >::type Ogre::CompositorNamedBufferVec
 
typedef vector< CompositorPassDef * >::type Ogre::CompositorPassDefVec
 
typedef vector< CompositorTargetDef >::type Ogre::CompositorTargetDefVec
 
typedef vector< CompositorTexture >::type Ogre::CompositorTextureVec
 
typedef map< TextureGpu *, FastArray< CompositorPass * > >::type Ogre::PassesByRenderWindowMap
 
typedef vector< RenderTargetViewEntry >::type Ogre::RenderTargetViewEntryVec
 
typedef vector< TextureGpu * >::type Ogre::TextureGpuVec
 
typedef vector< UavBufferPacked * >::type Ogre::UavBufferPackedVec
 

Enumerations

enum  Ogre::v1::BillboardOrigin {
  Ogre::v1::BBO_TOP_LEFT , Ogre::v1::BBO_TOP_CENTER , Ogre::v1::BBO_TOP_RIGHT , Ogre::v1::BBO_CENTER_LEFT ,
  Ogre::v1::BBO_CENTER , Ogre::v1::BBO_CENTER_RIGHT , Ogre::v1::BBO_BOTTOM_LEFT , Ogre::v1::BBO_BOTTOM_CENTER ,
  Ogre::v1::BBO_BOTTOM_RIGHT
}
 Enum covering what exactly a billboard's position means (center, top-left etc). More...
 
enum  Ogre::v1::BillboardRotationType { Ogre::v1::BBR_VERTEX , Ogre::v1::BBR_TEXCOORD }
 The rotation type of billboard. More...
 
enum  Ogre::v1::BillboardType {
  Ogre::v1::BBT_POINT , Ogre::v1::BBT_ORIENTED_COMMON , Ogre::v1::BBT_ORIENTED_SELF , Ogre::v1::BBT_PERPENDICULAR_COMMON ,
  Ogre::v1::BBT_PERPENDICULAR_SELF
}
 The type of billboard to use. More...
 
enum  Ogre::CompositorPassType {
  Ogre::PASS_INVALID = 0 , Ogre::PASS_SCENE , Ogre::PASS_QUAD , Ogre::PASS_CLEAR ,
  Ogre::PASS_STENCIL , Ogre::PASS_RESOLVE , Ogre::PASS_DEPTHCOPY , Ogre::PASS_UAV ,
  Ogre::PASS_MIPMAP , Ogre::PASS_IBL_SPECULAR , Ogre::PASS_SHADOWS , Ogre::PASS_TARGET_BARRIER ,
  Ogre::PASS_WARM_UP , Ogre::PASS_COMPUTE , Ogre::PASS_CUSTOM
}
 
enum  Ogre::ShadowMapTechniques { Ogre::SHADOWMAP_UNIFORM , Ogre::SHADOWMAP_PLANEOPTIMAL , Ogre::SHADOWMAP_FOCUSED , Ogre::SHADOWMAP_PSSM }
 
enum  Ogre::ShadowNodeRecalculation { Ogre::SHADOW_NODE_RECALCULATE , Ogre::SHADOW_NODE_REUSE , Ogre::SHADOW_NODE_FIRST_ONLY , Ogre::SHADOW_NODE_CASTER_PASS }
 

Functions

 Ogre::CompositorPassWarmUp::CompositorPassWarmUp (const CompositorPassWarmUpDef *definition, Camera *defaultCamera, CompositorNode *parentNode, const RenderTargetViewDef *rtv)
 
 Ogre::CompositorPassWarmUp::~CompositorPassWarmUp () override=default
 
void Ogre::CompositorPassWarmUp::_setUpdateShadowNode (bool update)
 
static void Ogre::WarmUpHelper::createFrom (CompositorManager2 *compositorManager, const String &nodeDefinitionName, const IdString refNodeDefinitionName, const bool bCopyAllInputChannels)
 Utility to programmatically create a node that contains only warm_up passes by basing them off the render_pass passes from a reference node. More...
 
void Ogre::CompositorPassWarmUp::execute (const Camera *lodCamera) override
 
CameraOgre::CompositorPassWarmUp::getCamera ()
 
const CompositorPassWarmUpDefOgre::CompositorPassWarmUp::getDefinition () const
 
CompositorShadowNodeOgre::CompositorPassWarmUp::getShadowNode () const
 

Variables

const char * Ogre::CompositorPassTypeEnumNames [PASS_CUSTOM+1u]
 

Detailed Description

Typedef Documentation

◆ ChannelMappings

typedef vector<uint32>::type Ogre::ChannelMappings

◆ CompositorChannel

A channel in the compositor transports textures between nodes.

In Ogre 2.1 there were issues with MRT (Multiple Render Targets) that caused a struct to be used as a workaround. But starting Ogre 2.2; CompositorChannel is just a typedef to a single TextureGpu.

◆ CompositorChannelVec

◆ CompositorNamedBufferVec

◆ CompositorPassDefVec

◆ CompositorTargetDefVec

◆ CompositorTextureVec

◆ PassesByRenderWindowMap

◆ RenderTargetViewEntryVec

◆ TextureGpuVec

typedef vector< TextureGpu * >::type Ogre::TextureGpuVec

◆ UavBufferPackedVec

typedef vector< UavBufferPacked * >::type Ogre::UavBufferPackedVec

Enumeration Type Documentation

◆ BillboardOrigin

Enum covering what exactly a billboard's position means (center, top-left etc).

This setting controls the fine tuning of where a billboard appears in relation to it's position. It could be that a billboard's position represents it's center (e.g. for fireballs), it could mean the center of the bottom edge (e.g. a tree which is positioned on the ground), the top-left corner (e.g. a cursor).

See also
BillboardSet::setBillboardOrigin
Enumerator
BBO_TOP_LEFT 
BBO_TOP_CENTER 
BBO_TOP_RIGHT 
BBO_CENTER_LEFT 
BBO_CENTER 
BBO_CENTER_RIGHT 
BBO_BOTTOM_LEFT 
BBO_BOTTOM_CENTER 
BBO_BOTTOM_RIGHT 

◆ BillboardRotationType

The rotation type of billboard.

Enumerator
BBR_VERTEX 

Rotate the billboard's vertices around their facing direction.

BBR_TEXCOORD 

Rotate the billboard's texture coordinates.

◆ BillboardType

The type of billboard to use.

Enumerator
BBT_POINT 

Standard point billboard (default), always faces the camera completely and is always upright.

BBT_ORIENTED_COMMON 

Billboards are oriented around a shared direction vector (used as Y axis) and only rotate around this to face the camera.

BBT_ORIENTED_SELF 

Billboards are oriented around their own direction vector (their own Y axis) and only rotate around this to face the camera.

BBT_PERPENDICULAR_COMMON 

Billboards are perpendicular to a shared direction vector (used as Z axis, the facing direction) and X, Y axis are determined by a shared up-vertor.

BBT_PERPENDICULAR_SELF 

Billboards are perpendicular to their own direction vector (their own Z axis, the facing direction) and X, Y axis are determined by a shared up-vertor.

◆ CompositorPassType

Enumerator
PASS_INVALID 
PASS_SCENE 
PASS_QUAD 
PASS_CLEAR 
PASS_STENCIL 
PASS_RESOLVE 
PASS_DEPTHCOPY 
PASS_UAV 
PASS_MIPMAP 
PASS_IBL_SPECULAR 
PASS_SHADOWS 
PASS_TARGET_BARRIER 
PASS_WARM_UP 
PASS_COMPUTE 
PASS_CUSTOM 

◆ ShadowMapTechniques

Enumerator
SHADOWMAP_UNIFORM 
SHADOWMAP_PLANEOPTIMAL 
SHADOWMAP_FOCUSED 
SHADOWMAP_PSSM 

◆ ShadowNodeRecalculation

Enumerator
SHADOW_NODE_RECALCULATE 

Forces recalculation of the shadow node for this pass.

Not recommended. Only useful if you're doing very low level manipulation via listeners and the compositor can't detect changes.

SHADOW_NODE_REUSE 

Forces the PassScene to not recalculate the ShadowNode even if it should.

Useful if you know what you're doing and want to use the ShadowNode of a different pass with a different camera.

SHADOW_NODE_FIRST_ONLY 

Default option.

The first PassScene to use a Camera will update its shadow node. All subsequent passes (even from different nodes) using the same camera will not update the shadow node again until a PassScene uses a different camera with the same shadow node. The Compositor will log a performance warning on debug builds if it detects the same Shadow node will be updated twice for the same camera.

SHADOW_NODE_CASTER_PASS 

Function Documentation

◆ CompositorPassWarmUp()

Ogre::CompositorPassWarmUp::CompositorPassWarmUp ( const CompositorPassWarmUpDef definition,
Camera defaultCamera,
CompositorNode parentNode,
const RenderTargetViewDef rtv 
)

◆ ~CompositorPassWarmUp()

Ogre::CompositorPassWarmUp::~CompositorPassWarmUp ( )
overridedefault

◆ _setUpdateShadowNode()

void Ogre::CompositorPassWarmUp::_setUpdateShadowNode ( bool  update)
inline

◆ createFrom()

static void Ogre::WarmUpHelper::createFrom ( CompositorManager2 compositorManager,
const String nodeDefinitionName,
const IdString  refNodeDefinitionName,
const bool  bCopyAllInputChannels 
)
static

Utility to programmatically create a node that contains only warm_up passes by basing them off the render_pass passes from a reference node.

Parameters
compositorManager
nodeDefinitionNameName to give to the node definition containing the warm ups. Must be unique and not exist already.
refNodeDefinitionNameName of the reference node definition to analyze.
bCopyAllInputChannelsFalse to only generate input channels that are actually needed. True to generate all input channels. This is useful if you must enforce certain order.

◆ execute()

void Ogre::CompositorPassWarmUp::execute ( const Camera lodCamera)
overridevirtual

Implements Ogre::CompositorPass.

◆ getCamera()

Camera* Ogre::CompositorPassWarmUp::getCamera ( )
inline

◆ getDefinition()

const CompositorPassWarmUpDef* Ogre::CompositorPassWarmUp::getDefinition ( ) const
inline

◆ getShadowNode()

CompositorShadowNode* Ogre::CompositorPassWarmUp::getShadowNode ( ) const
inline

Variable Documentation

◆ CompositorPassTypeEnumNames

const char* Ogre::CompositorPassTypeEnumNames[PASS_CUSTOM+1u]
extern