HatchitGraphics
ht_swapchain.h
1 
26 #pragma once
27 
28 #include <ht_platform.h>
29 #include <ht_rendertarget.h>
30 #include <ht_renderer.h>
31 
32 namespace Hatchit {
33 
34  namespace Graphics {
35 
36  class PipelineBase;
37 
38  class HT_API SwapChain
39  {
40  public:
41  virtual ~SwapChain() {}
42 
43  uint32_t GetWidth() const;
44  uint32_t GetHeight() const;
45 
46  virtual void VClear(float* color) = 0;
47  virtual bool VInitialize(uint32_t width, uint32_t height) = 0;
48  virtual void VResize(uint32_t width, uint32_t height) = 0;
49  virtual void VExecute(std::vector<RenderPassHandle> renderPasses) = 0;
50  virtual void VSetInput(RenderPassHandle handle) = 0;
51  virtual void VPresent() = 0;
52 
53  protected:
54  //For rendering
55  PipelineBase* m_pipeline;
56  uint32_t m_currentBuffer;
57  uint32_t m_width;
58  uint32_t m_height;
59  };
60  }
61 }
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_color.h:19
Definition: ht_pipeline_base.h:39
Definition: ht_swapchain.h:38