Base class for externally computing denoiser implementations (e.g. OptiX Denoiser)
More...
#include <foray_denoiserstage.hpp>
|
virtual void | BeforeDenoise (VkCommandBuffer cmdBuffer, base::FrameRenderInfo &renderInfo) |
| Vulkan side work to be computed before doing external work.
|
|
virtual void | AfterDenoise (VkCommandBuffer cmdBuffer, base::FrameRenderInfo &renderInfo) |
| Vulkan side work to be computed after doing external work.
|
|
virtual void | DispatchDenoise (uint64_t timelineSemaphoreValueBefore, uint64_t timelineSemaphoreValueAfter) |
| Function for dispatching Api-external work.
|
|
virtual void | Init (core::Context *context, const DenoiserConfig &config) |
|
virtual void | UpdateConfig (const DenoiserConfig &config) |
|
virtual std::string | GetUILabel () |
| Get the UI label used for user facing labelling of the denoiser.
|
|
virtual void | DisplayImguiConfiguration () |
| Record the ImGui commands for configuration of the denoiser.
|
|
virtual void | IgnoreHistoryNextFrame () |
| Signals the denoiser stage that history information is to be ignored for the coming frame.
|
|
| RenderStage ()=default |
|
virtual void | RecordFrame (VkCommandBuffer cmdBuffer, base::FrameRenderInfo &renderInfo) |
| Records a frame to cmdBuffer.
|
|
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::ManagedImage * | GetImageOutput (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 () |
|
|
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.
|
|
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::Context * | mContext = nullptr |
| Context object the renderstage is built upon.
|
|
Base class for externally computing denoiser implementations (e.g. OptiX Denoiser)
◆ AfterDenoise()
virtual void foray::stages::ExternalDenoiserStage::AfterDenoise |
( |
VkCommandBuffer |
cmdBuffer, |
|
|
base::FrameRenderInfo & |
renderInfo |
|
) |
| |
|
inlinevirtual |
Vulkan side work to be computed after doing external work.
◆ BeforeDenoise()
virtual void foray::stages::ExternalDenoiserStage::BeforeDenoise |
( |
VkCommandBuffer |
cmdBuffer, |
|
|
base::FrameRenderInfo & |
renderInfo |
|
) |
| |
|
inlinevirtual |
Vulkan side work to be computed before doing external work.
◆ DispatchDenoise()
virtual void foray::stages::ExternalDenoiserStage::DispatchDenoise |
( |
uint64_t |
timelineSemaphoreValueBefore, |
|
|
uint64_t |
timelineSemaphoreValueAfter |
|
) |
| |
|
inlinevirtual |
Function for dispatching Api-external work.
- Parameters
-
timelineSemaphoreValueBefore | Timeline Semaphore Value the external api should work on before running |
timelineSemaphoreValueAfter | Timeline Semaphore Value the external api should signal after completing |
The documentation for this class was generated from the following file: