BRE12
PostProcessCmdListRecorder.h
1 #pragma once
2 
3 #include <CommandManager\CommandListPerFrame.h>
4 
5 struct D3D12_CPU_DESCRIPTOR_HANDLE;
6 struct D3D12_GPU_DESCRIPTOR_HANDLE;
7 struct ID3D12Resource;
8 
9 namespace BRE {
10 // To record command list for post processing effects (anti aliasing, color grading, etc).
12 public:
13  PostProcessCmdListRecorder() = default;
14  ~PostProcessCmdListRecorder() = default;
16  const PostProcessCmdListRecorder& operator=(const PostProcessCmdListRecorder&) = delete;
19 
20  static void InitSharedPSOAndRootSignature() noexcept;
21 
22  // Preconditions:
23  // - InitSharedPSOAndRootSignature() must be called first and once
24  void Init(ID3D12Resource& inputColorBuffer) noexcept;
25 
26  // Preconditions:
27  // - Init() must be called first
28  void RecordAndPushCommandLists(const D3D12_CPU_DESCRIPTOR_HANDLE& renderTargetView) noexcept;
29 
30  bool IsDataValid() const noexcept;
31 
32 private:
33  void InitShaderResourceViews(ID3D12Resource& inputColorBuffer) noexcept;
34 
35  CommandListPerFrame mCommandListPerFrame;
36 
37  D3D12_GPU_DESCRIPTOR_HANDLE mStartPixelShaderResourceView{ 0UL };
38 };
39 }
40 
Definition: Camera.cpp:8
Definition: PostProcessCmdListRecorder.h:11
Definition: CommandListPerFrame.h:16