8 #include "irendertarget.h"
9 #include "renderutils.h"
10 #include "imagedata.h"
12 #include "texturelink.h"
15 #include <vulkan/vulkan_core.h>
55 virtual void beginRendering()
override;
60 virtual void endRendering()
override;
65 virtual const glm::ivec2 getBufferSize()
const override;
86 virtual VkRenderPass
getRenderPass()
const override {
return mRenderPass; }
91 virtual VkFormat getColorFormat()
const override;
96 virtual VkFormat getDepthFormat()
const override;
101 virtual VkSampleCountFlagBits getSampleCount()
const override;
106 virtual bool getSampleShadingEnabled()
const override;
111 virtual VkImageLayout
getFinalLayout()
const override {
return VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; }
123 std::vector<VkFramebuffer> mFramebuffers;
124 glm::uvec2 mSize = { 0, 0 };
126 bool mSampleShading =
true;
129 VkSampleCountFlagBits mRasterizationSamples = VK_SAMPLE_COUNT_1_BIT;
130 VkFormat mFormat = VK_FORMAT_R8G8B8A8_UNORM;
131 VkRenderPass mRenderPass = VK_NULL_HANDLE;
132 ImageData mDepthImage;
133 ImageData mColorImage;
134 Texture2DTargetLink mTextureLink;
136 uint32_t mCellIndex = 0;