Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
Public Member Functions | List of all members
foray::stages::ImageToSwapchainStage Class Reference

The only purpose of this class is to copy the image onto the swapchain. More...

#include <foray_imagetoswapchain.hpp>

Inheritance diagram for foray::stages::ImageToSwapchainStage:
foray::stages::BlitStage foray::stages::RenderStage

Public Member Functions

 ImageToSwapchainStage ()=default
 
void Init (core::Context *context, core::ManagedImage *srcImage)
 
virtual void RecordFrame (VkCommandBuffer cmdBuffer, base::FrameRenderInfo &renderInfo) override
 Records pipeline barriers for source and destination images, and the blit command itself.
 
- Public Member Functions inherited from foray::stages::BlitStage
 BlitStage ()=default
 
void Init (core::ManagedImage *sourceImage=nullptr, core::ManagedImage *destImage=nullptr)
 Initialization.
 
virtual void SetSrcImage (core::ManagedImage *image)
 Set source Image (nullptr allowed)
 
virtual void SetSrcImage (VkImage image, VkExtent2D size)
 Set source Image (nullptr allowed)
 
virtual void SetDstImage (core::ManagedImage *image)
 Set destination Image (nullptr allowed)
 
virtual void SetDstImage (VkImage image, VkExtent2D size)
 Set destination Image (nullptr allowed)
 
- Public Member Functions inherited from foray::stages::RenderStage
 RenderStage ()=default
 
virtual void Destroy ()
 Destroy the render stage. Finalizes all components.
 
virtual void Resize (const VkExtent2D &extent)
 Default implementation accesses mImageOutputs and calls ManagedImage::Resize(extent) on any set image.
 
std::vector< core::ManagedImage * > GetImageOutputs ()
 Gets a vector to all color attachments that will be included in a texture array and can be referenced in the shader pass.
 
core::ManagedImageGetImageOutput (std::string_view name, bool noThrow=false)
 Gets an image output.
 
virtual void OnShadersRecompiled (const std::unordered_set< uint64_t > &recompiled)
 Notifies the stage that the shader compiler instance has recompiled a shader.
 
virtual ~RenderStage ()
 

Additional Inherited Members

- Protected Member Functions inherited from foray::stages::BlitStage
virtual void ConfigureBlitRegion (VkImageBlit2 &blit)
 Configures the blit region.
 
- Protected Member Functions inherited from foray::stages::RenderStage
virtual void ReloadShaders ()
 Override this to reload all shaders and rebuild pipelines after a registered shader has been recompiled.
 
virtual void DestroyOutputImages ()
 Calls Destroy() on any image in mImageOutputs and clears mImageOutputs.
 
- Protected Attributes inherited from foray::stages::BlitStage
core::ManagedImagemSrcImage = nullptr
 If set, preferred over mSrcVkImage member. Allows for recreated ManagedImage instances.
 
VkImage mSrcVkImage = nullptr
 Fallback to mSrcImage.
 
VkExtent2D mSrcImageSize = {}
 Fallback to mSrcImage.
 
core::ManagedImagemDstImage = nullptr
 If set, preferred over mDStVkImage member. Allows for recreated ManagedImage instances.
 
VkImage mDstVkImage = nullptr
 Fallback to mDstImage.
 
VkExtent2D mDstImageSize = {}
 Fallback to mDstImage.
 
bool mFlipX = false
 If true, flips horizontal on blitting.
 
bool mFlipY = false
 If true, flips vertically on blitting.
 
VkFilter mFilter = VkFilter::VK_FILTER_LINEAR
 Filter used for blitting.
 
- Protected Attributes inherited from foray::stages::RenderStage
std::unordered_map< std::string, core::ManagedImage * > mImageOutputs
 Inheriting types should emplace their images onto this collection to provide them in GetImageOutput interface.
 
std::vector< uint64_t > mShaderKeys
 Inheriting types should emplace their shader keys onto this collection such that if a shader has been recompiled, ReloadShaders() will be called.
 
core::ContextmContext = nullptr
 Context object the renderstage is built upon.
 

Detailed Description

The only purpose of this class is to copy the image onto the swapchain.

Constructor & Destructor Documentation

◆ ImageToSwapchainStage()

foray::stages::ImageToSwapchainStage::ImageToSwapchainStage ( )
default

Member Function Documentation

◆ Init()

void foray::stages::ImageToSwapchainStage::Init ( core::Context context,
core::ManagedImage srcImage 
)

◆ RecordFrame()

virtual void foray::stages::ImageToSwapchainStage::RecordFrame ( VkCommandBuffer  cmdBuffer,
base::FrameRenderInfo renderInfo 
)
overridevirtual

Records pipeline barriers for source and destination images, and the blit command itself.

Reimplemented from foray::stages::BlitStage.


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