FastEngine 0.9.3
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: