OGRE-Next: Ogre::RenderPassDescriptor Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
Ogre::RenderPassDescriptor Class Reference
Core » Resources

`#include <OgreRenderPassDescriptor.h>`

Inheritance diagram for Ogre::RenderPassDescriptor:
[legend]

## 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.
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 | setClearColour (const ColourValue &clearColour)
| Sets the clear colour to all entries.
virtual void | setClearColour (uint8 idx, const ColourValue &clearColour)
| Sets the clear colour to specific entry.
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.
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

## Member Enumeration Documentation

## ◆ EntryTypes

enum Ogre::RenderPassDescriptor::EntryTypes

Enumerator
Colour0 |
Colour1 |
Colour2 |
Colour3 |
Colour4 |
Colour5 |
Colour6 |
Colour7 |
Depth |
Stencil |
Colour |
All |

## Constructor & Destructor Documentation

## ◆ RenderPassDescriptor()

Ogre::RenderPassDescriptor::RenderPassDescriptor | ( |  | ) |

Referenced by hasSameAttachments().

## ◆ ~RenderPassDescriptor()

virtual Ogre::RenderPassDescriptor::~RenderPassDescriptor | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ checkWarnIfRtvWasFlushed()

void Ogre::RenderPassDescriptor::checkWarnIfRtvWasFlushed | ( | uint32 | entriesToFlush | ) |

## ◆ entriesModified()

virtual void Ogre::RenderPassDescriptor::entriesModified | ( | uint32 | entryTypes | ) |
| 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.

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 in Ogre::D3D11RenderPassDescriptor, Ogre::GL3PlusRenderPassDescriptor, Ogre::MetalRenderPassDescriptor, and Ogre::VulkanRenderPassDescriptor.

## ◆ findAnyTexture()

void Ogre::RenderPassDescriptor::findAnyTexture | ( | TextureGpu ** | outAnyTargetTexture,
|  | uint8 & | outAnyMipLevel )

Finds the first non-null texture and outputs it May return nullptr if nothing is bound.

## ◆ getCustomAttribute()

virtual void Ogre::RenderPassDescriptor::getCustomAttribute | ( | IdString | name,
|  | void * | pData,
|  | uint32 | extraParam )
| inlinevirtual

Parameters

  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.

## ◆ getNumColourEntries()

uint8 Ogre::RenderPassDescriptor::getNumColourEntries | ( |  | ) | const
| inline

## ◆ hasAttachment()

bool Ogre::RenderPassDescriptor::hasAttachment | ( | const TextureGpu * | texture | ) | const

## ◆ hasSameAttachments()

virtual bool Ogre::RenderPassDescriptor::hasSameAttachments | ( | const RenderPassDescriptor * | otherPassDesc | ) | const
| virtual

References RenderPassDescriptor().

## ◆ hasStencilFormat()

bool Ogre::RenderPassDescriptor::hasStencilFormat | ( |  | ) | const

Returns true if either Stencil is set, or if Depth is set with depth-stencil attachment.

## ◆ requiresTextureFlipping()

bool Ogre::RenderPassDescriptor::requiresTextureFlipping | ( |  | ) | const
| inline

## ◆ setClearColour() [1/2]

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

## ◆ setClearColour() [2/2]

virtual void Ogre::RenderPassDescriptor::setClearColour | ( | uint8 | idx,
|  | const ColourValue & | clearColour )
| virtual

Sets the clear colour to specific entry.

Reimplemented in Ogre::GL3PlusRenderPassDescriptor, Ogre::MetalRenderPassDescriptor, and Ogre::VulkanRenderPassDescriptor.

## ◆ setClearDepth()

virtual void Ogre::RenderPassDescriptor::setClearDepth | ( | Real | clearDepth | ) |
| virtual

Reimplemented in Ogre::MetalRenderPassDescriptor, and Ogre::VulkanRenderPassDescriptor.

## ◆ setClearStencil()

virtual void Ogre::RenderPassDescriptor::setClearStencil | ( | uint32 | clearStencil | ) |
| virtual

Reimplemented in Ogre::MetalRenderPassDescriptor, and Ogre::VulkanRenderPassDescriptor.

## Member Data Documentation

## ◆ mColour

RenderPassColourTarget Ogre::RenderPassDescriptor::mColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS]

## ◆ mDepth

RenderPassDepthTarget Ogre::RenderPassDescriptor::mDepth

## ◆ mInformationOnly

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.

## ◆ mReadyWindowForPresent

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

## ◆ mStencil

RenderPassStencilTarget Ogre::RenderPassDescriptor::mStencil

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

- OgreRenderPassDescriptor.h