![]() |
FastEngine 0.9.4
A multiplayer oriented 2D engine made with Vulkan.
|
Public Types | |
| enum class | Type : uint32_t { SHADER_NONE = 0 , SHADER_COMPUTE = VK_SHADER_STAGE_COMPUTE_BIT , SHADER_VERTEX = VK_SHADER_STAGE_VERTEX_BIT , SHADER_FRAGMENT = VK_SHADER_STAGE_FRAGMENT_BIT , SHADER_GEOMETRY = VK_SHADER_STAGE_GEOMETRY_BIT } |
| using | ReflectBindings = std::vector<DescriptorSetLayout::Binding> |
| using | ReflectSets = std::map<uint32_t, ReflectBindings, std::less<>> |
Public Member Functions | |
| Shader (Shader const &r)=delete | |
| Shader (Shader &&r) noexcept | |
| Shader & | operator= (Shader const &r)=delete |
| Shader & | operator= (Shader &&r) noexcept |
| bool | loadFromSpirVBuffer (LogicalDevice const &logicalDevice, std::vector< uint32_t > const &buffer, Type type) |
| bool | loadFromFile (LogicalDevice const &logicalDevice, std::filesystem::path const &filepath, Type type) |
| void | destroy () |
| VkShaderModule | getShaderModule () const |
| VkPipelineShaderStageCreateInfo const & | getPipelineShaderStageCreateInfo () const |
| Type | getType () const |
| void | retrieveBindings (ReflectSets &buffer) const |
| std::vector< VkPushConstantRange > | retrievePushConstantRanges () const |