HatchitGraphics
ht_d3d12material.h
1 
15 #pragma once
16 
17 #include <ht_platform.h>
18 #include <ht_directx.h>
19 #include <ht_material_base.h>
20 #include <ht_material_resource.h>
21 
22 namespace Hatchit {
23 
24  namespace Core
25  {
26  template<typename VarType>
27  class Handle;
28  }
29 
30  namespace Resource
31  {
32  class Material;
33  }
34 
35  namespace Graphics {
36 
37  class Material;
38  namespace DX
39  {
40  class D3D12Device;
41 
42  class HT_API D3D12Material : public MaterialBase
43  {
44  public:
45  D3D12Material();
46 
47  ~D3D12Material();
48 
49  bool VBindTexture(std::string name, TextureHandle texture) override;
50  bool VUnbindTexture(std::string name, TextureHandle texture) override;
51  bool VUpdate() override;
52  const PipelineHandle VGetPipeline() const override;
53 
54  private:
55  bool Initialize(Resource::MaterialHandle handle, D3D12Device* device);
56 
57  friend class D3D12GPUResourceThread;
58  };
59  }
60  }
61 }
Definition: ht_d3d12material.h:27
Definition: ht_d3d12device.h:27
Definition: ht_material_base.h:51
Definition: ht_d3d12gpuresourcethread.h:33
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_color.h:19
Definition: ht_d3d12material.h:42