OGRE-Next
2.3
Object-Oriented Graphics Rendering Engine
|
D3D11 will share groups of ID3D11RenderTargetView all D3D11RenderPassDescriptor that share the same RTV setup. More...
#include <OgreD3D11RenderPassDescriptor.h>
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) | |
~D3D11RenderPassDescriptor () override | |
void | checkWarnIfRtvWasFlushed (uint32 entriesToFlush) |
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 | findAnyTexture (TextureGpu **outAnyTargetTexture, uint8 &outAnyMipLevel) |
Finds the first non-null texture and outputs it May return nullptr if nothing is bound. More... | |
void | getCustomAttribute (IdString name, void *pData, uint32 extraParam) override |
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... | |
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 () 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... | |
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 |
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.
|
inherited |
Ogre::D3D11RenderPassDescriptor::D3D11RenderPassDescriptor | ( | D3D11Device & | device, |
D3D11RenderSystem * | renderSystem | ||
) |
|
override |
|
inherited |
void Ogre::D3D11RenderPassDescriptor::clearFrameBuffer | ( | ) |
|
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.
entryTypes | Bitmask. See EntryTypes |
Reimplemented from Ogre::RenderPassDescriptor.
|
overridevirtual |
A rendersystem-specific event occurred.
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.
|
inherited |
Finds the first non-null texture and outputs it May return nullptr if nothing is bound.
|
overridevirtual |
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.
|
inlineinherited |
|
inherited |
|
virtualinherited |
|
inherited |
Returns true if either Stencil is set, or if Depth is set with depth-stencil attachment.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
placement operator new
|
inlineinherited |
|
inlineinherited |
array operator new, with debug line info
void Ogre::D3D11RenderPassDescriptor::performLoadActions | ( | Viewport * | viewport, |
uint32 | entriesToFlush, | ||
uint32 | uavStartingSlot, | ||
const DescriptorSetUav * | descSetUav | ||
) |
void Ogre::D3D11RenderPassDescriptor::performStoreActions | ( | uint32 | entriesToFlush | ) |
|
inlineinherited |
|
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::VulkanRenderPassDescriptor, and Ogre::GL3PlusRenderPassDescriptor.
|
virtualinherited |
Sets the clear colour to specific entry.
Reimplemented in Ogre::VulkanRenderPassDescriptor, Ogre::MetalRenderPassDescriptor, and Ogre::GL3PlusRenderPassDescriptor.
|
virtualinherited |
Reimplemented in Ogre::VulkanRenderPassDescriptor, and Ogre::MetalRenderPassDescriptor.
|
virtualinherited |
Reimplemented in Ogre::VulkanRenderPassDescriptor, and Ogre::MetalRenderPassDescriptor.
uint32 Ogre::D3D11RenderPassDescriptor::willSwitchTo | ( | D3D11RenderPassDescriptor * | newDesc, |
bool | warnIfRtvWasFlushed | ||
) | const |
|
inherited |
|
inherited |
|
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.
|
inherited |
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
|
inherited |