Created render_pass object
Some TODO's to handle regarding exposing access to vulkan functionallity
This commit is contained in:
38
include/vulkan/basalt_render_pass.h
Normal file
38
include/vulkan/basalt_render_pass.h
Normal file
@@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
#include "vulkan/basalt_device.h"
|
||||
// TODO: Support adding dependencies to the RenderPass
|
||||
// TODO: Support all attachment types (input, resolve, depth stencil, preserve)
|
||||
|
||||
namespace basalt
|
||||
{
|
||||
class RenderPass
|
||||
{
|
||||
public:
|
||||
RenderPass(basalt::Device& device, VkRenderPass pass);
|
||||
~RenderPass();
|
||||
|
||||
basalt::Device& device;
|
||||
VkRenderPass render_pass;
|
||||
};
|
||||
|
||||
|
||||
class RenderPassBuilder
|
||||
{
|
||||
public:
|
||||
RenderPassBuilder(basalt::Device& device);
|
||||
|
||||
RenderPassBuilder& add_subpass(VkPipelineBindPoint bind_point, const basalt::darray<VkAttachmentReference>& attachments);
|
||||
RenderPassBuilder& add_attachment(VkAttachmentDescription desc);
|
||||
RenderPassBuilder& add_subpass_dependency(VkSubpassDependency dep);
|
||||
|
||||
RenderPass build(void);
|
||||
|
||||
VkRenderPassCreateInfo ci;
|
||||
basalt::darray<VkAttachmentDescription> attachments;
|
||||
basalt::darray<basalt::darray<VkAttachmentReference>> subpass_indicies;
|
||||
basalt::darray<VkSubpassDescription> subpasses;
|
||||
basalt::darray<VkSubpassDependency> dependencies;
|
||||
|
||||
basalt::Device& device;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user