BRE12
SkyBoxPass.h
1 #pragma once
2 
3 #include <memory>
4 
5 #include <SkyBoxPass\SkyBoxCmdListRecorder.h>
6 
7 struct D3D12_CPU_DESCRIPTOR_HANDLE;
8 struct ID3D12Resource;
9 struct D3D12_CPU_DESCRIPTOR_HANDLE;
10 
11 namespace BRE {
12 struct FrameCBuffer;
13 
14 class SkyBoxPass {
15 public:
16  SkyBoxPass() = default;
17  ~SkyBoxPass() = default;
18  SkyBoxPass(const SkyBoxPass&) = delete;
19  const SkyBoxPass& operator=(const SkyBoxPass&) = delete;
20  SkyBoxPass(SkyBoxPass&&) = delete;
21  SkyBoxPass& operator=(SkyBoxPass&&) = delete;
22 
23  void Init(ID3D12Resource& skyBoxCubeMap,
24  const D3D12_CPU_DESCRIPTOR_HANDLE& renderTargetView,
25  const D3D12_CPU_DESCRIPTOR_HANDLE& depthBufferView) noexcept;
26 
27  // Preconditions:
28  // - Init() must be called first
29  void Execute(const FrameCBuffer& frameCBuffer) const noexcept;
30 
31 private:
32  bool IsDataValid() const noexcept;
33 
34  std::unique_ptr<SkyBoxCmdListRecorder> mCommandListRecorder;
35 };
36 
37 }
38 
Definition: Camera.cpp:8
Definition: SkyBoxPass.h:14
Definition: CBuffers.h:23