master
ブランチ master
VulkanExample / VulkanExample / shader / glsl.hh
856 B、30行 生 Blame 履歴
1#pragma once
2
3#ifdef USING_GLSL
4#include <util/root.hh>
5#include <vector>
6#include <array>
7
8class Shaders {
9 public:
10 Shaders(vk::Device *device);
11 ~Shaders() {}
12
13 public:
14 void Finalize();
15
16 public:
17 const std::vector<vk::PipelineShaderStageCreateInfo> GetShaderStages() const { return m_ShaderStages; }
18 const vk::PipelineVertexInputStateCreateInfo &GetVertexInput() const { return m_VertInput; }
19
20 private:
21 vk::Device *m_Device;
22 std::vector<vk::PipelineShaderStageCreateInfo> m_ShaderStages{};
23 vk::ShaderModule m_VertShaderModule = {};
24 vk::ShaderModule m_FragShaderModule = {};
25 vk::PipelineVertexInputStateCreateInfo m_VertInput = {};
26
27 vk::VertexInputBindingDescription m_BindingDescription{};
28 std::array<vk::VertexInputAttributeDescription, 3> m_AttributeDescriptions{};
29}; // Shaders
30#endif // USING_GLSL