OGRE
2.2.4
Object-Oriented Graphics Rendering Engine
|
GL3+ will share FBO handles between all GL3PlusRenderPassDescriptor that share the same FBO setup. More...
#include <OgreGL3PlusRenderPassDescriptor.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 | |
GL3PlusRenderPassDescriptor (GL3PlusRenderSystem *renderSystem) | |
virtual | ~GL3PlusRenderPassDescriptor () |
void | checkWarnIfRtvWasFlushed (uint32 entriesToFlush) |
virtual void | entriesModified (uint32 entryTypes) |
Call this when you're done modified mColour. More... | |
virtual void | getCustomAttribute (IdString name, void *pData, uint32 extraParam) |
GLuint | getFboName (void) const |
uint8 | getNumColourEntries (void) const |
bool | hasAttachment (const TextureGpu *texture) const |
virtual bool | hasSameAttachments (const RenderPassDescriptor *otherPassDesc) const |
bool | hasStencilFormat (void) 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, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
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 * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
void | performLoadActions (uint8 blendChannelMask, bool depthWrite, uint32 stencilWriteMask, uint32 entriesToFlush) |
void | performStoreActions (bool hasArbInvalidateSubdata, uint32 entriesToFlush) |
bool | requiresTextureFlipping (void) const |
virtual void | setClearColour (uint8 idx, const ColourValue &clearColour) |
Sets the clear colour to specific entry. More... | |
virtual void | setClearColour (const ColourValue &clearColour) |
Sets the clear colour to all entries. More... | |
virtual void | setClearDepth (Real clearDepth) |
virtual void | setClearStencil (uint32 clearStencil) |
uint32 | willSwitchTo (GL3PlusRenderPassDescriptor *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... | |
RenderPassStencilTarget | mStencil |
GL3+ will share FBO handles between all GL3PlusRenderPassDescriptor that share the same FBO setup.
This doesn't mean these RenderPassDescriptor are exactly the same, as they may have different clear, loadAction or storeAction values.
|
inherited |
Ogre::GL3PlusRenderPassDescriptor::GL3PlusRenderPassDescriptor | ( | GL3PlusRenderSystem * | renderSystem | ) |
|
virtual |
|
inherited |
|
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 from Ogre::RenderPassDescriptor.
|
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.
|
inline |
|
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 |
operator new, with debug line info
|
inlineinherited |
|
inlineinherited |
placement operator new
|
inlineinherited |
array operator new, with debug line info
|
inlineinherited |
void Ogre::GL3PlusRenderPassDescriptor::performLoadActions | ( | uint8 | blendChannelMask, |
bool | depthWrite, | ||
uint32 | stencilWriteMask, | ||
uint32 | entriesToFlush | ||
) |
void Ogre::GL3PlusRenderPassDescriptor::performStoreActions | ( | bool | hasArbInvalidateSubdata, |
uint32 | entriesToFlush | ||
) |
|
inlineinherited |
|
virtual |
Sets the clear colour to specific entry.
Reimplemented from Ogre::RenderPassDescriptor.
|
virtual |
Sets the clear colour to all entries.
In some APIs may be faster than calling setClearColour( idx, clearColour ) for each entry individually.
Reimplemented from Ogre::RenderPassDescriptor.
|
virtualinherited |
Reimplemented in Ogre::MetalRenderPassDescriptor.
|
virtualinherited |
Reimplemented in Ogre::MetalRenderPassDescriptor.
uint32 Ogre::GL3PlusRenderPassDescriptor::willSwitchTo | ( | GL3PlusRenderPassDescriptor * | 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 |