Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
foray_rasterizedRenderStage.hpp
Go to the documentation of this file.
1#pragma once
3#include "../util/foray_pipelinelayout.hpp"
4
5namespace foray::stages {
6
9 {
10 public:
12
13 FORAY_GETTER_CR(FrameBuffer)
14 FORAY_GETTER_CR(Renderpass)
15 FORAY_GETTER_CR(Pipeline)
16 FORAY_GETTER_CR(PipelineLayout)
17
18 virtual void SetupDescriptors(){};
19 virtual void CreateDescriptorSets(){};
20 virtual void UpdateDescriptors(){};
21 virtual void CreatePipelineLayout(){};
22
23 protected:
24 VkFramebuffer mFrameBuffer = nullptr;
25 VkRenderPass mRenderpass = nullptr;
27 VkPipeline mPipeline = nullptr;
29 };
30} // namespace foray::stages
Helps with the creation of a VkDescriptorSetLayout and VkDescriptorSet.
Definition foray_descriptorset.hpp:15
Base class for rasterized render stages (no built-in functionality)
Definition foray_rasterizedRenderStage.hpp:9
virtual void SetupDescriptors()
Definition foray_rasterizedRenderStage.hpp:18
VkFramebuffer mFrameBuffer
Definition foray_rasterizedRenderStage.hpp:24
virtual void UpdateDescriptors()
Definition foray_rasterizedRenderStage.hpp:20
VkPipeline mPipeline
Definition foray_rasterizedRenderStage.hpp:27
util::PipelineLayout mPipelineLayout
Definition foray_rasterizedRenderStage.hpp:28
virtual void CreateDescriptorSets()
Definition foray_rasterizedRenderStage.hpp:19
VkRenderPass mRenderpass
Definition foray_rasterizedRenderStage.hpp:25
virtual void CreatePipelineLayout()
Definition foray_rasterizedRenderStage.hpp:21
core::DescriptorSet mDescriptorSet
Definition foray_rasterizedRenderStage.hpp:26
Render stage base class giving a common interface for rendering processes.
Definition foray_renderstage.hpp:15
Class that holds memory ownership of a vulkan pipeline layout.
Definition foray_pipelinelayout.hpp:12
#define FORAY_GETTER_CR(member)
Return constant reference.
Definition foray_basics.hpp:60
Definition foray_blitstage.hpp:4