OGRE-Next
2.3
Object-Oriented Graphics Rendering Engine
|
#include <OgreMetalRenderPassDescriptor.h>
Public Types | |
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 Member Functions | |
MetalRenderPassDescriptor (MetalDevice *device, MetalRenderSystem *renderSystem) | |
~MetalRenderPassDescriptor () override | |
void | checkWarnIfRtvWasFlushed (uint32 entriesToFlush) |
void | entriesModified (uint32 entryTypes) override |
Call this when you're done modified mColour. More... | |
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... | |
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 More... | |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
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 More... | |
void | performLoadActions (MTLRenderPassDescriptor *passDesc, bool renderingWasInterrupted) |
void | performStoreActions (uint32 entriesToFlush, bool isInterruptingRendering) |
bool | requiresTextureFlipping () const |
virtual void | setClearColour (const ColourValue &clearColour) |
Sets the clear colour to all entries. More... | |
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 Attributes | |
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 |
|
inherited |
Ogre::MetalRenderPassDescriptor::MetalRenderPassDescriptor | ( | MetalDevice * | device, |
MetalRenderSystem * | renderSystem | ||
) |
|
override |
|
inherited |
|
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.
entryTypes | Bitmask. See EntryTypes |
Reimplemented from Ogre::RenderPassDescriptor.
|
inherited |
Finds the first non-null texture and outputs it May return nullptr if nothing is bound.
|
inlinevirtualinherited |
name | When it's set to "ID3D11RenderTargetView", extraParam must be in range [0;OGRE_MAX_MULTIPLE_RENDER_TARGETS) When it's set to "ID3D11DepthStencilView", extraParam can be any value |
pData | Output |
extraParam | See name |
Reimplemented in Ogre::D3D11RenderPassDescriptor.
|
inlineinherited |
|
inherited |
|
virtualinherited |
|
inherited |
Returns true if either Stencil is set, or if Depth is set with depth-stencil attachment.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
placement operator new
|
inlineinherited |
|
inlineinherited |
array operator new, with debug line info
void Ogre::MetalRenderPassDescriptor::performLoadActions | ( | MTLRenderPassDescriptor * | passDesc, |
bool | renderingWasInterrupted | ||
) |
void Ogre::MetalRenderPassDescriptor::performStoreActions | ( | uint32 | entriesToFlush, |
bool | isInterruptingRendering | ||
) |
|
inlineinherited |
|
virtualinherited |
Sets the clear colour to all entries.
In some APIs may be faster than calling setClearColour( idx, clearColour ) for each entry individually.
Reimplemented in Ogre::VulkanRenderPassDescriptor, and Ogre::GL3PlusRenderPassDescriptor.
|
overridevirtual |
Sets the clear colour to specific entry.
Reimplemented from Ogre::RenderPassDescriptor.
|
overridevirtual |
Reimplemented from Ogre::RenderPassDescriptor.
|
overridevirtual |
Reimplemented from Ogre::RenderPassDescriptor.
uint32 Ogre::MetalRenderPassDescriptor::willSwitchTo | ( | MetalRenderPassDescriptor * | newDesc, |
bool | warnIfRtvWasFlushed | ||
) | const |
|
inherited |
|
inherited |
|
inherited |
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.
Examples of these are stencil passes.
|
inherited |
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.
After changing this flag you MUST call entriesModified( Colour );
This value will be automatically reset to false if no entry is a RenderWindow
|
inherited |