OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::MetalRenderPassDescriptor Class Referencefinal

#include <OgreMetalRenderPassDescriptor.h>

+ Inheritance diagram for Ogre::MetalRenderPassDescriptor:

Public Member Functions

 MetalRenderPassDescriptor (MetalDevice *device, MetalRenderSystem *renderSystem)
 
 ~MetalRenderPassDescriptor () override
 
void entriesModified (uint32 entryTypes) override
 Call this when you're done modified mColour. More...
 
void performLoadActions (MTLRenderPassDescriptor *passDesc, bool renderingWasInterrupted)
 
void performStoreActions (uint32 entriesToFlush, bool isInterruptingRendering)
 
void setClearColour (uint8 idx, const ColourValue &clearColour) override
 Sets the clear colour to specific entry. More...
 
void setClearDepth (Real clearDepth) override
 
void setClearStencil (uint32 clearStencil) override
 
uint32 willSwitchTo (MetalRenderPassDescriptor *newDesc, bool warnIfRtvWasFlushed) const
 
- Public Member Functions inherited from Ogre::RenderPassDescriptor
 RenderPassDescriptor ()
 
virtual ~RenderPassDescriptor ()
 
void checkWarnIfRtvWasFlushed (uint32 entriesToFlush)
 
void findAnyTexture (TextureGpu **outAnyTargetTexture, uint8 &outAnyMipLevel)
 Finds the first non-null texture and outputs it May return nullptr if nothing is bound. More...
 
virtual void getCustomAttribute (IdString name, void *pData, uint32 extraParam)
 
uint8 getNumColourEntries () const
 
bool hasAttachment (const TextureGpu *texture) const
 
virtual bool hasSameAttachments (const RenderPassDescriptor *otherPassDesc) const
 
bool hasStencilFormat () const
 Returns true if either Stencil is set, or if Depth is set with depth-stencil attachment. More...
 
bool requiresTextureFlipping () const
 
virtual void setClearColour (const ColourValue &clearColour)
 Sets the clear colour to all entries. More...
 

Additional Inherited Members

- Public Types inherited from Ogre::RenderPassDescriptor
enum  EntryTypes {
  Colour0 = 1u << 0u , Colour1 = 1u << 1u , Colour2 = 1u << 2u , Colour3 = 1u << 3u ,
  Colour4 = 1u << 4u , Colour5 = 1u << 5u , Colour6 = 1u << 6u , Colour7 = 1u << 7u ,
  Depth = 1u << 30u , Stencil = 1u << 31u , Colour = Colour0 | Colour1 | Colour2 | Colour3 | Colour4 | Colour5 | Colour6 | Colour7 , All = Colour | Depth | Stencil
}
 
- Public Attributes inherited from Ogre::RenderPassDescriptor
RenderPassColourTarget mColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
 
RenderPassDepthTarget mDepth
 
bool mInformationOnly
 When true, beginRenderPassDescriptor & endRenderPassDescriptor won't actually load/store this pass descriptor; but will still set the mCurrentRenderPassDescriptor so we have required information by some passes. More...
 
bool mReadyWindowForPresent
 When true, if we have a RenderWindow among our colour entries, then this pass is the last one to render to it and should ready the surface for presentation/swapping. More...
 
RenderPassStencilTarget mStencil
 

Constructor & Destructor Documentation

◆ MetalRenderPassDescriptor()

Ogre::MetalRenderPassDescriptor::MetalRenderPassDescriptor ( MetalDevice device,
MetalRenderSystem renderSystem 
)

◆ ~MetalRenderPassDescriptor()

Ogre::MetalRenderPassDescriptor::~MetalRenderPassDescriptor ( )
override

Member Function Documentation

◆ entriesModified()

void Ogre::MetalRenderPassDescriptor::entriesModified ( uint32  entryTypes)
overridevirtual

Call this when you're done modified mColour.

Note there must be no gaps, e.g. mColour[1] is empty but mColour[0] & mColour[2] are not.

Remarks
Values that are modified by calling setClearColour et al don't need to call entriesModified. Prefer changing those values using those calls since it's faster.
Parameters
entryTypesBitmask. See EntryTypes

Reimplemented from Ogre::RenderPassDescriptor.

◆ performLoadActions()

void Ogre::MetalRenderPassDescriptor::performLoadActions ( MTLRenderPassDescriptor *  passDesc,
bool  renderingWasInterrupted 
)

◆ performStoreActions()

void Ogre::MetalRenderPassDescriptor::performStoreActions ( uint32  entriesToFlush,
bool  isInterruptingRendering 
)

◆ setClearColour()

void Ogre::MetalRenderPassDescriptor::setClearColour ( uint8  idx,
const ColourValue clearColour 
)
overridevirtual

Sets the clear colour to specific entry.

Reimplemented from Ogre::RenderPassDescriptor.

◆ setClearDepth()

void Ogre::MetalRenderPassDescriptor::setClearDepth ( Real  clearDepth)
overridevirtual

Reimplemented from Ogre::RenderPassDescriptor.

◆ setClearStencil()

void Ogre::MetalRenderPassDescriptor::setClearStencil ( uint32  clearStencil)
overridevirtual

Reimplemented from Ogre::RenderPassDescriptor.

◆ willSwitchTo()

uint32 Ogre::MetalRenderPassDescriptor::willSwitchTo ( MetalRenderPassDescriptor newDesc,
bool  warnIfRtvWasFlushed 
) const

The documentation for this class was generated from the following file: