.. _program_listing_file_Source_Azura_RenderSystem_Inc_D3D12_D3D12ScopedSwapChain.h: Program Listing for File D3D12ScopedSwapChain.h =============================================== |exhale_lsh| :ref:`Return to documentation for file ` (``Source\Azura\RenderSystem\Inc\D3D12\D3D12ScopedSwapChain.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "Generic/Window.h" #include "D3D12/D3D12Core.h" namespace Azura { struct SwapChainRequirements; class Log; } namespace Azura { namespace D3D12 { class D3D12ScopedSwapChain { public: void Create(const Microsoft::WRL::ComPtr& factory, const Microsoft::WRL::ComPtr& commandQueue, const Window& windowHandle, const SwapChainRequirements& swapChainRequirements, const Log& log_D3D12RenderSystem); const Microsoft::WRL::ComPtr& RealComPtr() const; IDXGISwapChain3* Real() const; RawStorageFormat GetFormat() const; RawStorageFormat GetDepthFormat() const; private: RawStorageFormat m_format{}; RawStorageFormat m_depthFormat{}; Microsoft::WRL::ComPtr m_swapChain; Microsoft::WRL::ComPtr m_renderTargets[GLOBAL_INFLIGHT_FRAMES]; Microsoft::WRL::ComPtr m_rtvHeap; Microsoft::WRL::ComPtr m_dsvHeap; }; } // namespace D3D12 } // namespace Azura