diff --git a/engine/include/XCEngine/RHI/D3D12/D3D12RenderTargetView.h b/engine/include/XCEngine/RHI/D3D12/D3D12RenderTargetView.h index eac56e7b..efff9450 100644 --- a/engine/include/XCEngine/RHI/D3D12/D3D12RenderTargetView.h +++ b/engine/include/XCEngine/RHI/D3D12/D3D12RenderTargetView.h @@ -3,6 +3,9 @@ #include #include +#include "../Enums.h" +#include "D3D12Enum.h" + using Microsoft::WRL::ComPtr; namespace XCEngine { @@ -19,6 +22,8 @@ public: D3D12_CPU_DESCRIPTOR_HANDLE GetCPUDescriptorHandle() const { return m_handle; } + static D3D12_RENDER_TARGET_VIEW_DESC CreateDesc(Format format, D3D12_RTV_DIMENSION dimension = D3D12_RTV_DIMENSION_TEXTURE2D); + private: D3D12_CPU_DESCRIPTOR_HANDLE m_handle; ID3D12Resource* m_resource; diff --git a/engine/src/RHI/D3D12/D3D12RenderTargetView.cpp b/engine/src/RHI/D3D12/D3D12RenderTargetView.cpp index 6184083b..7927a036 100644 --- a/engine/src/RHI/D3D12/D3D12RenderTargetView.cpp +++ b/engine/src/RHI/D3D12/D3D12RenderTargetView.cpp @@ -29,5 +29,12 @@ void D3D12RenderTargetView::Shutdown() { m_resource = nullptr; } +D3D12_RENDER_TARGET_VIEW_DESC D3D12RenderTargetView::CreateDesc(Format format, D3D12_RTV_DIMENSION dimension) { + D3D12_RENDER_TARGET_VIEW_DESC desc = {}; + desc.Format = ToD3D12(format); + desc.ViewDimension = dimension; + return desc; +} + } // namespace RHI } // namespace XCEngine