OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::VulkanRenderPassDescriptor Class Referencefinal

#include <OgreVulkanRenderPassDescriptor.h>

+ Inheritance diagram for Ogre::VulkanRenderPassDescriptor:

Public Member Functions

 VulkanRenderPassDescriptor (VulkanQueue *graphicsQueue, VulkanRenderSystem *renderSystem)
 
 ~VulkanRenderPassDescriptor () override
 
void entriesModified (uint32 entryTypes) override
 Call this when you're done modified mColour. More...
 
void notifyRenderTextureNonResident (VulkanTextureGpu *texture)
 
void notifySwapchainCreated (VulkanWindow *window)
 
void notifySwapchainDestroyed (VulkanWindow *window)
 
void performLoadActions (bool renderingWasInterrupted)
 
void performStoreActions (bool isInterruptingRendering)
 
void setClearColour (const ColourValue &clearColour) override
 Sets the clear colour to all entries. More...
 
void setClearColour (uint8 idx, const ColourValue &clearColour) override
 Sets the clear colour to specific entry. More...
 
void setClearDepth (Real clearDepth) override
 
void setClearStencil (uint32 clearStencil) override
 
uint32 willSwitchTo (VulkanRenderPassDescriptor *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...
 
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. More...
 
bool requiresTextureFlipping () const
 

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

Constructor & Destructor Documentation

◆ VulkanRenderPassDescriptor()

Ogre::VulkanRenderPassDescriptor::VulkanRenderPassDescriptor ( VulkanQueue graphicsQueue,
VulkanRenderSystem renderSystem 
)

◆ ~VulkanRenderPassDescriptor()

Ogre::VulkanRenderPassDescriptor::~VulkanRenderPassDescriptor ( )
override

Member Function Documentation

◆ entriesModified()

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

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.

◆ notifyRenderTextureNonResident()

void Ogre::VulkanRenderPassDescriptor::notifyRenderTextureNonResident ( VulkanTextureGpu texture)

◆ notifySwapchainCreated()

void Ogre::VulkanRenderPassDescriptor::notifySwapchainCreated ( VulkanWindow window)

◆ notifySwapchainDestroyed()

void Ogre::VulkanRenderPassDescriptor::notifySwapchainDestroyed ( VulkanWindow window)

◆ performLoadActions()

void Ogre::VulkanRenderPassDescriptor::performLoadActions ( bool  renderingWasInterrupted)

◆ performStoreActions()

void Ogre::VulkanRenderPassDescriptor::performStoreActions ( bool  isInterruptingRendering)

◆ setClearColour() [1/2]

void Ogre::VulkanRenderPassDescriptor::setClearColour ( const ColourValue clearColour)
overridevirtual

Sets the clear colour to all entries.

In some APIs may be faster than calling setClearColour( idx, clearColour ) for each entry individually.

Reimplemented from Ogre::RenderPassDescriptor.

◆ setClearColour() [2/2]

void Ogre::VulkanRenderPassDescriptor::setClearColour ( uint8  idx,
const ColourValue clearColour 
)
overridevirtual

Sets the clear colour to specific entry.

Reimplemented from Ogre::RenderPassDescriptor.

◆ setClearDepth()

void Ogre::VulkanRenderPassDescriptor::setClearDepth ( Real  clearDepth)
overridevirtual

Reimplemented from Ogre::RenderPassDescriptor.

◆ setClearStencil()

void Ogre::VulkanRenderPassDescriptor::setClearStencil ( uint32  clearStencil)
overridevirtual

Reimplemented from Ogre::RenderPassDescriptor.

◆ willSwitchTo()

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

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