OGRE-Next
4.0.0unstable
Object-Oriented Graphics Rendering Engine
|
GL3+ will share FBO handles between all GL3PlusRenderPassDescriptor that share the same FBO setup. More...
#include <OgreGL3PlusRenderPassDescriptor.h>
Public Member Functions | |
GL3PlusRenderPassDescriptor (GL3PlusRenderSystem *renderSystem) | |
~GL3PlusRenderPassDescriptor () override | |
void | entriesModified (uint32 entryTypes) override |
Call this when you're done modified mColour. More... | |
GLuint | getFboName () const |
void | performLoadActions (uint8 blendChannelMask, bool depthWrite, uint32 stencilWriteMask, uint32 entriesToFlush) |
void | performStoreActions (bool hasArbInvalidateSubdata, uint32 entriesToFlush) |
void | setClearColour (const ColourValue &clearColour) override |
Sets the clear colour to all entries. More... | |
void | setClearColour (uint8 idx, const ColourValue &clearColour) override |
Sets the clear colour to specific entry. More... | |
uint32 | willSwitchTo (GL3PlusRenderPassDescriptor *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 | setClearDepth (Real clearDepth) |
virtual void | setClearStencil (uint32 clearStencil) |
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 |
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.
Ogre::GL3PlusRenderPassDescriptor::GL3PlusRenderPassDescriptor | ( | GL3PlusRenderSystem * | renderSystem | ) |
|
override |
|
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.
|
inline |
void Ogre::GL3PlusRenderPassDescriptor::performLoadActions | ( | uint8 | blendChannelMask, |
bool | depthWrite, | ||
uint32 | stencilWriteMask, | ||
uint32 | entriesToFlush | ||
) |
void Ogre::GL3PlusRenderPassDescriptor::performStoreActions | ( | bool | hasArbInvalidateSubdata, |
uint32 | entriesToFlush | ||
) |
|
overridevirtual |
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.
|
overridevirtual |
Sets the clear colour to specific entry.
Reimplemented from Ogre::RenderPassDescriptor.
uint32 Ogre::GL3PlusRenderPassDescriptor::willSwitchTo | ( | GL3PlusRenderPassDescriptor * | newDesc, |
bool | warnIfRtvWasFlushed | ||
) | const |