![]() |
FastEngine 0.9.3
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 |