SimpleGL  1.1.0
A framework for platform independent rendering
shader_module.hpp
Go to the documentation of this file.
1 
8 #ifndef SHADER_MODULE_HPP
9 #define SHADER_MODULE_HPP
10 
11 #include <SimpleGL_vk/SimpleGL_vk_Export.h>
12 
13 #include <vector>
14 
15 #include <vulkan/vulkan.h>
16 
17 namespace sgl {
18 
24  enum class ShaderStageBit {
25 
27  VERTEX_BIT,
28 
31  };
32 
38  class SIMPLEGL_VK_EXPORT ShaderModule {
39 
40  private:
42  VkShaderModule handle;
43 
45  ShaderStageBit shaderStageBit;
46 
47  public:
54  ShaderModule(std::vector<uint8_t> code, ShaderStageBit stage);
55 
57  ~ShaderModule(void);
58 
64  VkShaderModule getHandle();
65 
71  VkShaderStageFlagBits getShaderStageBit();
72  };
73 }
74 
75 #endif /* SHADER_MODULE_HPP */
Indicates to use VK_SHADER_STAGE_VERTEX_BIT.
Generic namespace for the SimpleGL framework.
Definition: application.hpp:18
Indicates to use VK_SHADER_STAGE_FRAGMENT_BIT.
ShaderStageBit
This enum stores supported shader stage flag bit.
This class wraps a Vulkan shader module.