Files
Seele/src/Engine/Graphics/Vulkan/RenderPass.h
T

45 lines
1.1 KiB
C++
Raw Normal View History

2020-08-11 21:23:20 +02:00
#pragma once
2023-10-26 18:37:29 +02:00
#include "Graphics/RenderTarget.h"
#include "Graphics.h"
2020-03-24 21:05:32 +01:00
namespace Seele
{
2020-04-12 15:47:19 +02:00
namespace Vulkan
{
class RenderPass : public Gfx::RenderPass
{
public:
RenderPass(PGraphics graphics, Gfx::RenderTargetLayout layout, Array<Gfx::SubPassDependency> dependencies, Gfx::PViewport viewport);
2020-04-12 15:47:19 +02:00
virtual ~RenderPass();
2023-11-16 22:58:47 +01:00
uint32 getFramebufferHash();
void endRenderPass();
2023-11-15 17:42:57 +01:00
constexpr VkRenderPass getHandle() const
2020-03-24 21:05:32 +01:00
{
2020-04-12 15:47:19 +02:00
return renderPass;
2020-03-24 21:05:32 +01:00
}
2023-11-15 17:42:57 +01:00
constexpr size_t getClearValueCount() const
2020-04-12 15:47:19 +02:00
{
return clearValues.size();
}
2023-11-15 17:42:57 +01:00
constexpr VkClearValue *getClearValues() const
2020-04-12 15:47:19 +02:00
{
return clearValues.data();
}
2023-11-15 17:42:57 +01:00
constexpr VkRect2D getRenderArea() const
2020-04-12 15:47:19 +02:00
{
return renderArea;
}
2023-11-15 17:42:57 +01:00
constexpr VkSubpassContents getSubpassContents() const
2020-04-12 15:47:19 +02:00
{
return subpassContents;
}
private:
PGraphics graphics;
VkRenderPass renderPass;
Array<VkClearValue> clearValues;
VkRect2D renderArea;
VkSubpassContents subpassContents;
};
2021-04-01 16:40:14 +02:00
DEFINE_REF(RenderPass)
2020-04-12 15:47:19 +02:00
} // namespace Vulkan
} // namespace Seele