40 lines
838 B
C++
40 lines
838 B
C++
#pragma once
|
|
#include "VulkanGraphicsResources.h"
|
|
|
|
namespace Seele
|
|
{
|
|
namespace Vulkan
|
|
{
|
|
DECLARE_REF(RenderPass)
|
|
struct FramebufferDescription
|
|
{
|
|
VkImageView inputAttachments[16];
|
|
VkImageView colorAttachments[16];
|
|
VkImageView depthAttachment;
|
|
uint32 numInputAttachments;
|
|
uint32 numColorAttachments;
|
|
};
|
|
class Framebuffer
|
|
{
|
|
public:
|
|
Framebuffer(PGraphics graphics, PRenderPass renderpass, Gfx::PRenderTargetLayout renderTargetLayout);
|
|
virtual ~Framebuffer();
|
|
inline VkFramebuffer getHandle() const
|
|
{
|
|
return handle;
|
|
}
|
|
inline uint32 getHash() const
|
|
{
|
|
return hash;
|
|
}
|
|
|
|
private:
|
|
uint32 hash;
|
|
PGraphics graphics;
|
|
VkFramebuffer handle;
|
|
Gfx::PRenderTargetLayout layout;
|
|
PRenderPass renderPass;
|
|
};
|
|
DEFINE_REF(Framebuffer)
|
|
} // namespace Vulkan
|
|
} // namespace Seele
|