4 #include <DirectXMath.h> 8 #include <CommandManager\CommandListPerFrame.h> 9 #include <DXUtils/D3DFactory.h> 10 #include <ResourceManager\FrameUploadCBufferPerFrame.h> 11 #include <ResourceManager/VertexAndIndexBufferCreator.h> 27 std::vector<DirectX::XMFLOAT4X4> mWorldMatrices;
28 std::vector<DirectX::XMFLOAT4X4> mInverseTransposeWorldMatrices;
30 using GeometryDataVector = std::vector<GeometryData>;
44 void Init(
const D3D12_CPU_DESCRIPTOR_HANDLE* geometryBufferRenderTargetViews,
45 const std::uint32_t geometryBufferRenderTargetViewCount,
46 const D3D12_CPU_DESCRIPTOR_HANDLE& depthBufferView) noexcept;
50 virtual void RecordAndPushCommandLists(
const FrameCBuffer& frameCBuffer) noexcept = 0;
55 virtual bool IsDataValid()
const noexcept;
63 std::vector<GeometryData> mGeometryDataVec;
68 D3D12_GPU_DESCRIPTOR_HANDLE mStartObjectCBufferView;
70 D3D12_GPU_DESCRIPTOR_HANDLE mStartMaterialCBufferView;
73 const D3D12_CPU_DESCRIPTOR_HANDLE* mGeometryBufferRenderTargetViews{
nullptr };
74 std::uint32_t mGeometryBufferRenderTargetViewCount{ 0U };
76 D3D12_CPU_DESCRIPTOR_HANDLE mDepthBufferView{ 0UL };
79 using GeometryPassCommandListRecorders = std::vector<std::unique_ptr<GeometryPassCommandListRecorder>>;
Definition: VertexAndIndexBufferCreator.h:53
Definition: GeometryPassCommandListRecorder.h:20
Definition: GeometryPassCommandListRecorder.h:22
Definition: FrameUploadCBufferPerFrame.h:11
Definition: CBuffers.h:23
Definition: VertexAndIndexBufferCreator.h:36
Definition: CommandListPerFrame.h:16
Definition: UploadBuffer.h:9