FastEngine 0.9.4
A multiplayer oriented 2D engine made with Vulkan.
Loading...
Searching...
No Matches
fge::vulkan::Shader Class Reference

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
Shaderoperator= (Shader const &r)=delete
Shaderoperator= (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

The documentation for this class was generated from the following file: