OGRE: Ogre::D3D11RenderPassDescriptor Class Reference

| OGRE 2.2.4 Object-Oriented Graphics Rendering Engine

Public Types | Public Member Functions | Public Attributes | List of all members
Ogre::D3D11RenderPassDescriptor Class Reference
Core » Resources

D3D11 will share groups of ID3D11RenderTargetView all D3D11RenderPassDescriptor that share the same RTV setup. More...

`#include <OgreD3D11RenderPassDescriptor.h>`

Inheritance diagram for Ogre::D3D11RenderPassDescriptor:
[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
| D3D11RenderPassDescriptor (D3D11Device &device, D3D11RenderSystem *renderSystem)
virtual | ~D3D11RenderPassDescriptor ()
void | checkWarnIfRtvWasFlushed (uint32 entriesToFlush)
void | clearFrameBuffer (void)
virtual void | entriesModified (uint32 entryTypes)
| Call this when you're done modified mColour. More...
virtual void | eventOccurred (const String &eventName, const NameValuePairList *parameters)
| A rendersystem-specific event occurred. More...
virtual void | getCustomAttribute (IdString name, void *pData, uint32 extraParam)
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, 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...
void | performLoadActions (Viewport *viewport, uint32 entriesToFlush, uint32 uavStartingSlot, const DescriptorSetUav *descSetUav)
void | performStoreActions (uint32 entriesToFlush)
bool | requiresTextureFlipping (void) 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)
uint32 | willSwitchTo (D3D11RenderPassDescriptor *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

## Detailed Description

D3D11 will share groups of ID3D11RenderTargetView all D3D11RenderPassDescriptor that share the same RTV setup.

This doesn't mean these RenderPassDescriptor are exactly the same, as they may have different clear, loadAction or storeAction values.

## Member Enumeration Documentation

## ◆ EntryTypes

enum Ogre::RenderPassDescriptor::EntryTypes
| inherited

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

## Constructor & Destructor Documentation

## ◆ D3D11RenderPassDescriptor()

Ogre::D3D11RenderPassDescriptor::D3D11RenderPassDescriptor | ( | D3D11Device & | device,
|  | D3D11RenderSystem * | renderSystem
| ) |  |

## ◆ ~D3D11RenderPassDescriptor()

virtual Ogre::D3D11RenderPassDescriptor::~D3D11RenderPassDescriptor | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ checkWarnIfRtvWasFlushed()

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

## ◆ clearFrameBuffer()

void Ogre::D3D11RenderPassDescriptor::clearFrameBuffer | ( | void |  | ) |

## ◆ entriesModified()

virtual void Ogre::D3D11RenderPassDescriptor::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 from Ogre::RenderPassDescriptor.

## ◆ eventOccurred()

virtual void Ogre::D3D11RenderPassDescriptor::eventOccurred | ( | const String & | eventName,
|  | const NameValuePairList * | parameters
| ) |  |
| virtual

A rendersystem-specific event occurred.

Parameters

  eventName | The name of the event which has occurred
  parameters | A list of parameters that may belong to this event, may be null if there are no parameters

Implements Ogre::RenderSystem::Listener.

## ◆ getCustomAttribute()

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

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 from Ogre::RenderPassDescriptor.

## ◆ getNumColourEntries()

uint8 Ogre::RenderPassDescriptor::getNumColourEntries | ( | void |  | ) | const
| inlineinherited

## ◆ hasAttachment()

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

## ◆ hasSameAttachments()

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

## ◆ hasStencilFormat()

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

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

## ◆ operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |
| inlineinherited

## ◆ operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |
| inlineinherited

## ◆ operator delete() [3/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |
| inlineinherited

## ◆ operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |
| inlineinherited

## ◆ operator delete[]() [2/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |
| inlineinherited

## ◆ operator new() [1/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |
| inlineinherited

## ◆ operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |
| inlineinherited

operator new, with debug line info

## ◆ operator new() [3/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  |
| inlineinherited

placement operator new

## ◆ operator new[]() [1/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) |
| inlineinherited

## ◆ operator new[]() [2/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |
| inlineinherited

array operator new, with debug line info

## ◆ performLoadActions()

void Ogre::D3D11RenderPassDescriptor::performLoadActions | ( | Viewport * | viewport,
|  | uint32 | entriesToFlush,
|  | uint32 | uavStartingSlot,
|  | const DescriptorSetUav * | descSetUav
| ) |  |

## ◆ performStoreActions()

void Ogre::D3D11RenderPassDescriptor::performStoreActions | ( | uint32 | entriesToFlush | ) |

## ◆ requiresTextureFlipping()

bool Ogre::RenderPassDescriptor::requiresTextureFlipping | ( | void |  | ) | const
| inlineinherited

## ◆ setClearColour() [1/2]

virtual void Ogre::RenderPassDescriptor::setClearColour | ( | const ColourValue & | clearColour | ) |
| virtualinherited

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.

## ◆ setClearColour() [2/2]

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

Sets the clear colour to specific entry.

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

## ◆ setClearDepth()

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

Reimplemented in Ogre::MetalRenderPassDescriptor.

## ◆ setClearStencil()

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

Reimplemented in Ogre::MetalRenderPassDescriptor.

## ◆ willSwitchTo()

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

## Member Data Documentation

## ◆ mColour

RenderPassColourTarget Ogre::RenderPassDescriptor::mColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS]
| inherited

## ◆ mDepth

RenderPassDepthTarget Ogre::RenderPassDescriptor::mDepth
| inherited

## ◆ mInformationOnly

bool Ogre::RenderPassDescriptor::mInformationOnly
| 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.

## ◆ mStencil

RenderPassStencilTarget Ogre::RenderPassDescriptor::mStencil
| inherited

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

- OgreD3D11RenderPassDescriptor.h