OGRE-Next  3.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::D3D11RenderPassDescriptor Class Referencefinal

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

#include <OgreD3D11RenderPassDescriptor.h>

+ Inheritance diagram for Ogre::D3D11RenderPassDescriptor:

Public Member Functions

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

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
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

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.

Constructor & Destructor Documentation

◆ D3D11RenderPassDescriptor()

Ogre::D3D11RenderPassDescriptor::D3D11RenderPassDescriptor ( D3D11Device device,
D3D11RenderSystem renderSystem 

◆ ~D3D11RenderPassDescriptor()

Ogre::D3D11RenderPassDescriptor::~D3D11RenderPassDescriptor ( )

Member Function Documentation

◆ clearFrameBuffer()

void Ogre::D3D11RenderPassDescriptor::clearFrameBuffer ( )

◆ entriesModified()

void Ogre::D3D11RenderPassDescriptor::entriesModified ( uint32  entryTypes)

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.

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.
entryTypesBitmask. See EntryTypes

Reimplemented from Ogre::RenderPassDescriptor.

◆ eventOccurred()

void Ogre::D3D11RenderPassDescriptor::eventOccurred ( const String eventName,
const NameValuePairList parameters 

A rendersystem-specific event occurred.

eventNameThe name of the event which has occurred
parametersA list of parameters that may belong to this event, may be null if there are no parameters

Implements Ogre::RenderSystem::Listener.

◆ getCustomAttribute()

void Ogre::D3D11RenderPassDescriptor::getCustomAttribute ( IdString  name,
void *  pData,
uint32  extraParam 
nameWhen 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
extraParamSee name

Reimplemented from Ogre::RenderPassDescriptor.

◆ performLoadActions()

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

◆ performStoreActions()

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

◆ willSwitchTo()

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

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