OGRE  2.2.4
Object-Oriented Graphics Rendering Engine
Ogre::D3D11RenderPassDescriptor Class Reference

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

#include <OgreD3D11RenderPassDescriptor.h>

+ Inheritance diagram for Ogre::D3D11RenderPassDescriptor:

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, void *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
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 * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
void performLoadActions (Viewport *viewport, uint32 entriesToFlush, uint32 uavStartingSlot, const DescriptorSetUav *descSetUav)
 
void performStoreActions (uint32 entriesToFlush)
 
bool requiresTextureFlipping (void) const
 
virtual void setClearColour (uint8 idx, const ColourValue &clearColour)
 Sets the clear colour to specific entry. More...
 
virtual void setClearColour (const ColourValue &clearColour)
 Sets the clear colour to all entries. 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

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
entryTypesBitmask. 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
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()

virtual void Ogre::D3D11RenderPassDescriptor::getCustomAttribute ( IdString  name,
void *  pData,
uint32  extraParam 
)
virtual
Parameters
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
pDataOutput
extraParamSee 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,
void *   
)
inlineinherited

◆ operator delete() [3/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
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,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

◆ operator new() [2/3]

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

◆ 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,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

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

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

◆ 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 ( uint8  idx,
const ColourValue clearColour 
)
virtualinherited

Sets the clear colour to specific entry.

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

◆ setClearColour() [2/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.

◆ setClearDepth()

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

◆ setClearStencil()

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

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