Files
Seele/src/Engine/Graphics/Vulkan/RenderPass.h
T
2024-07-17 09:33:37 +02:00

28 lines
1021 B
C++

#pragma once
#include "Graphics.h"
#include "Graphics/RenderTarget.h"
namespace Seele {
namespace Vulkan {
class RenderPass : public Gfx::RenderPass {
public:
RenderPass(PGraphics graphics, Gfx::RenderTargetLayout layout, Array<Gfx::SubPassDependency> dependencies, Gfx::PViewport viewport, std::string name);
virtual ~RenderPass();
uint32 getFramebufferHash();
void endRenderPass();
constexpr VkRenderPass getHandle() const { return renderPass; }
constexpr size_t getClearValueCount() const { return clearValues.size(); }
constexpr VkClearValue* getClearValues() const { return clearValues.data(); }
constexpr VkRect2D getRenderArea() const { return renderArea; }
constexpr VkSubpassContents getSubpassContents() const { return subpassContents; }
private:
PGraphics graphics;
VkRenderPass renderPass;
Array<VkClearValue> clearValues;
VkRect2D renderArea;
VkSubpassContents subpassContents;
};
DEFINE_REF(RenderPass)
} // namespace Vulkan
} // namespace Seele