OGRE-Next
2.3
Object-Oriented Graphics Rendering Engine
|
#include <OgreRenderPassDescriptor.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 | |
RenderPassDescriptor () | |
virtual | ~RenderPassDescriptor () |
void | checkWarnIfRtvWasFlushed (uint32 entriesToFlush) |
virtual void | entriesModified (uint32 entryTypes) |
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... | |
bool | requiresTextureFlipping () const |
virtual void | setClearColour (const ColourValue &clearColour) |
Sets the clear colour to all entries. More... | |
virtual void | setClearColour (uint8 idx, const ColourValue &clearColour) |
Sets the clear colour to specific entry. More... | |
virtual void | setClearDepth (Real clearDepth) |
virtual void | setClearStencil (uint32 clearStencil) |
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 |
Ogre::RenderPassDescriptor::RenderPassDescriptor | ( | ) |
|
virtual |
void Ogre::RenderPassDescriptor::checkWarnIfRtvWasFlushed | ( | uint32 | entriesToFlush | ) |
|
virtual |
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 in Ogre::VulkanRenderPassDescriptor, Ogre::MetalRenderPassDescriptor, Ogre::GL3PlusRenderPassDescriptor, and Ogre::D3D11RenderPassDescriptor.
void Ogre::RenderPassDescriptor::findAnyTexture | ( | TextureGpu ** | outAnyTargetTexture, |
uint8 & | outAnyMipLevel | ||
) |
Finds the first non-null texture and outputs it May return nullptr if nothing is bound.
|
inlinevirtual |
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.
|
inline |
bool Ogre::RenderPassDescriptor::hasAttachment | ( | const TextureGpu * | texture | ) | const |
|
virtual |
bool Ogre::RenderPassDescriptor::hasStencilFormat | ( | ) | const |
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
|
inline |
|
virtual |
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.
|
virtual |
Sets the clear colour to specific entry.
Reimplemented in Ogre::VulkanRenderPassDescriptor, Ogre::MetalRenderPassDescriptor, and Ogre::GL3PlusRenderPassDescriptor.
|
virtual |
Reimplemented in Ogre::VulkanRenderPassDescriptor, and Ogre::MetalRenderPassDescriptor.
|
virtual |
Reimplemented in Ogre::VulkanRenderPassDescriptor, and Ogre::MetalRenderPassDescriptor.
RenderPassColourTarget Ogre::RenderPassDescriptor::mColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS] |
RenderPassDepthTarget Ogre::RenderPassDescriptor::mDepth |
bool Ogre::RenderPassDescriptor::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.
Examples of these are stencil passes.
bool Ogre::RenderPassDescriptor::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.
After changing this flag you MUST call entriesModified( Colour );
This value will be automatically reset to false if no entry is a RenderWindow
RenderPassStencilTarget Ogre::RenderPassDescriptor::mStencil |