HatchitGraphics
ht_vksampler.h
1 
15 #pragma once
16 
17 #include <ht_sampler.h>
18 #include <ht_sampler_resource.h>
19 #include <ht_vulkan.h>
20 
21 namespace Hatchit {
22 
23  namespace Graphics {
24 
25  namespace Vulkan {
26  class VKRenderer;
27  class HT_API VKSampler : public ISampler
28  {
29  public:
30  VKSampler();
31  ~VKSampler();
32 
33  //For initializing directly from a resource (immutable samplers)
34  bool InitFromResource(const Resource::Sampler& sampler, const VkDevice& device);
35 
36  VkSampler GetVkSampler();
37 
38  private:
39  VkDevice m_device;
40  VkSampler m_sampler;
41 
42  VkSamplerAddressMode VKAddressModeFromType(Resource::Sampler::AddressMode mode);
43  VkFilter VKFilterModeFromType(Resource::Sampler::FilterMode mode);
44  VkFormat VKColorSpaceFromType(Resource::Sampler::ColorSpace space);
45  VkCompareOp VKCompareOpFromType(Resource::Sampler::CompareOperation op);
46  VkSamplerMipmapMode VKMipMapModeFromType(Resource::Sampler::MipMode mode);
47  VkBorderColor VKBorderColorFromType(Resource::Sampler::BorderColor color);
48  };
49 
51  }
52 
53  }
54 
55 }
Definition: ht_d3d12material.h:27
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_color.h:19
Definition: ht_sampler.h:23
Definition: ht_vksampler.h:27