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

Helper object managing a copy of an existing image for use as history information (reprojection etc.) More...

#include <foray_historyimage.hpp>

Public Member Functions

void Create (core::Context *context, core::ManagedImage *source, VkImageUsageFlags additionalUsageFlags=0U)
 
void Resize (const VkExtent2D &size)
 
void ApplyToLayoutCache (core::ImageLayoutCache &layoutCache)
 
void CmdCopySourceToHistory (VkCommandBuffer cmdBuffer, base::FrameRenderInfo &renderInfo)
 Pipeline barriers, cmdCopyImage from source -> history.
 
bool Exists () const
 
void Destroy ()
 
core::ManagedImageGetHistoryImage ()
 
 operator core::ManagedImage & ()
 
 operator const core::ManagedImage & () const
 

Static Public Member Functions

static void sMultiCopySourceToHistory (const std::vector< HistoryImage * > &historyImages, VkCommandBuffer cmdBuffer, base::FrameRenderInfo &renderInfo)
 Batch record pipeline barriers and cmdCopyImage for a set of history images.
 

Protected Attributes

core::ManagedImagemSource = nullptr
 
core::ManagedImage mHistory
 
VkImageLayout mHistoricLayout = VkImageLayout::VK_IMAGE_LAYOUT_UNDEFINED
 

Detailed Description

Helper object managing a copy of an existing image for use as history information (reprojection etc.)

The history image is named "History.{source->GetName()}", and inherits the entire createinfo of the original

Member Function Documentation

◆ ApplyToLayoutCache()

void foray::util::HistoryImage::ApplyToLayoutCache ( core::ImageLayoutCache layoutCache)

◆ CmdCopySourceToHistory()

void foray::util::HistoryImage::CmdCopySourceToHistory ( VkCommandBuffer  cmdBuffer,
base::FrameRenderInfo renderInfo 
)

Pipeline barriers, cmdCopyImage from source -> history.

◆ Create()

void foray::util::HistoryImage::Create ( core::Context context,
core::ManagedImage source,
VkImageUsageFlags  additionalUsageFlags = 0U 
)
Parameters
contextRequired to initiate own copy
sourceSource image to copy
additionalUsageFlagsUsageFlags to apply to the createinfo for the copy

◆ Destroy()

void foray::util::HistoryImage::Destroy ( )

◆ Exists()

bool foray::util::HistoryImage::Exists ( ) const
inline

◆ GetHistoryImage()

core::ManagedImage & foray::util::HistoryImage::GetHistoryImage ( )
inline

◆ operator const core::ManagedImage &()

foray::util::HistoryImage::operator const core::ManagedImage & ( ) const
inline

◆ operator core::ManagedImage &()

foray::util::HistoryImage::operator core::ManagedImage & ( )
inline

◆ Resize()

void foray::util::HistoryImage::Resize ( const VkExtent2D &  size)

◆ sMultiCopySourceToHistory()

static void foray::util::HistoryImage::sMultiCopySourceToHistory ( const std::vector< HistoryImage * > &  historyImages,
VkCommandBuffer  cmdBuffer,
base::FrameRenderInfo renderInfo 
)
static

Batch record pipeline barriers and cmdCopyImage for a set of history images.

Member Data Documentation

◆ mHistoricLayout

VkImageLayout foray::util::HistoryImage::mHistoricLayout = VkImageLayout::VK_IMAGE_LAYOUT_UNDEFINED
protected

◆ mHistory

core::ManagedImage foray::util::HistoryImage::mHistory
protected

◆ mSource

core::ManagedImage* foray::util::HistoryImage::mSource = nullptr
protected

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