HatchitGraphics
ht_renderpass.h
1 
23 #pragma once
24 
25 #include <ht_platform.h>
26 #include <ht_rendertarget.h>
27 #include <ht_pipeline.h>
28 #include <ht_mesh.h>
29 #include <ht_material.h>
30 #include <ht_math.h>
31 #include <Hatchit/HatchitGraphics/include/ht_color.h>
32 #include <ht_shadervariablechunk.h>
33 #include <ht_commandpool.h> //ICommandPool
34 
35 namespace Hatchit {
36 
37  namespace Graphics {
38 
39  class RenderPassBase;
40 
41  class HT_API RenderPass : public Core::RefCounted<Graphics::RenderPass>
42  {
43  public:
44  RenderPass(Core::Guid ID);
45  virtual ~RenderPass() { };
46 
47  bool Initialize(const std::string& file);
48 
49  bool BuildCommandList(const ICommandPool* commandPool);
50 
51  void SetView(Math::Matrix4 view);
52  void SetProj(Math::Matrix4 proj);
53 
54  void ScheduleRenderRequest(MaterialHandle material, MeshHandle mesh, ShaderVariableChunk* instanceVariables);
55 
56  uint64_t GetLayerFlags();
57 
58  RenderPassBase* const GetBase() const;
59 
60  private:
61  RenderPassBase* m_base;
62  };
63 
65  }
66 }
Definition: ht_renderpass.h:41
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_color.h:19
Definition: ht_renderpass_base.h:59
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_commandpool.h:31
Definition: ht_shadervariablechunk.h:38