#pragma once #include "vulkan/system/vk_objects.h" class VkRenderBuffers { public: VkRenderBuffers(); ~VkRenderBuffers(); void BeginFrame(int width, int height, int sceneWidth, int sceneHeight); int GetWidth() const { return mWidth; } int GetHeight() const { return mHeight; } int GetSceneWidth() const { return mSceneWidth; } int GetSceneHeight() const { return mSceneHeight; } std::unique_ptr SceneColor; std::unique_ptr SceneDepthStencil; std::unique_ptr SceneColorView; std::unique_ptr SceneDepthStencilView; std::unique_ptr SceneDepthView; VkFormat SceneDepthStencilFormat = VK_FORMAT_D24_UNORM_S8_UINT; private: void CreatePipeline(int width, int height); void CreateScene(int width, int height, int samples); int mWidth = 0; int mHeight = 0; int mSceneWidth = 0; int mSceneHeight = 0; int mSamples = 0; int mMaxSamples = 16; };