OGRE-Next: Ogre::GL3PlusRenderPassDescriptor Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::GL3PlusRenderPassDescriptor Class Referencefinal
Core » Resources

GL3+ will share FBO handles between all GL3PlusRenderPassDescriptor that share the same FBO setup. More...

`#include <OgreGL3PlusRenderPassDescriptor.h>`

Inheritance diagram for Ogre::GL3PlusRenderPassDescriptor:
[legend]

## Public Member Functions
| GL3PlusRenderPassDescriptor (GL3PlusRenderSystem *renderSystem)
| ~GL3PlusRenderPassDescriptor () override
void | entriesModified (uint32 entryTypes) override
| Call this when you're done modified mColour.
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.
void | setClearColour (uint8 idx, const ColourValue &clearColour) override
| Sets the clear colour to specific entry.
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.
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.
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.
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.
RenderPassStencilTarget | mStencil

## Detailed Description

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.

## Constructor & Destructor Documentation

## ◆ GL3PlusRenderPassDescriptor()

Ogre::GL3PlusRenderPassDescriptor::GL3PlusRenderPassDescriptor | ( | GL3PlusRenderSystem * | renderSystem | ) |

Referenced by willSwitchTo().

## ◆ ~GL3PlusRenderPassDescriptor()

Ogre::GL3PlusRenderPassDescriptor::~GL3PlusRenderPassDescriptor | ( |  | ) |
| override

## Member Function Documentation

## ◆ entriesModified()

void Ogre::GL3PlusRenderPassDescriptor::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

  entryTypes | Bitmask. See EntryTypes

Reimplemented from Ogre::RenderPassDescriptor.

## ◆ getFboName()

GLuint Ogre::GL3PlusRenderPassDescriptor::getFboName | ( |  | ) | const
| inline

## ◆ performLoadActions()

void Ogre::GL3PlusRenderPassDescriptor::performLoadActions | ( | uint8 | blendChannelMask,
|  | bool | depthWrite,
|  | uint32 | stencilWriteMask,
|  | uint32 | entriesToFlush )

## ◆ performStoreActions()

void Ogre::GL3PlusRenderPassDescriptor::performStoreActions | ( | bool | hasArbInvalidateSubdata,
|  | uint32 | entriesToFlush )

## ◆ setClearColour() [1/2]

void Ogre::GL3PlusRenderPassDescriptor::setClearColour | ( | const ColourValue & | clearColour | ) |
| 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.

## ◆ setClearColour() [2/2]

void Ogre::GL3PlusRenderPassDescriptor::setClearColour | ( | uint8 | idx,
|  | const ColourValue & | clearColour )
| overridevirtual

Sets the clear colour to specific entry.

Reimplemented from Ogre::RenderPassDescriptor.

## ◆ willSwitchTo()

uint32 Ogre::GL3PlusRenderPassDescriptor::willSwitchTo | ( | GL3PlusRenderPassDescriptor * | newDesc,
|  | bool | warnIfRtvWasFlushed ) const

References GL3PlusRenderPassDescriptor().

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

- OgreGL3PlusRenderPassDescriptor.h