HatchitGraphics
ht_vkrendertarget.h
1 
25 #pragma once
26 
27 #include <ht_rendertarget_base.h>
28 #include <ht_vulkan.h>
29 
30 namespace Hatchit {
31 
32  namespace Graphics {
33 
34  namespace Vulkan {
35 
36  class VKSwapChain;
37 
38  class HT_API VKRenderTarget : public RenderTargetBase
39  {
40  public:
42  ~VKRenderTarget();
43 
44  //Required function from RefCounted classes
45  bool Initialize(const Resource::RenderTargetHandle& handle, const VkDevice& device, const VkPhysicalDevice& gpu, const VKSwapChain* swapchain);
46 
47  bool Blit(VkCommandBuffer commandBuffer, const Image_vk& image);
48 
49  const VkFormat& GetVKColorFormat() const;
50  const Texture_vk& GetVKTexture() const;
51 
52  const uint32_t& GetWidth() const;
53  const uint32_t& GetHeight() const;
54  const VkClearValue* GetClearColor() const;
55 
56  protected:
57  VkDevice m_device;
58  VkPhysicalDevice m_gpu;
59 
60  VkClearValue* m_clearColor;
61 
62  VkFormat m_colorFormat;
63  Texture_vk m_texture;
64 
65  bool setupTargetTexture();
66  };
67  }
68  }
69 }
Definition: ht_vkrendertarget.h:38
Definition: ht_vkswapchain.h:55
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_color.h:19
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_rendertarget_base.h:32