ObjectType
Definition: BasicTypes.hpp:29
char const *const ConstantFilepath
Definition: ShaderManager.hpp:6
Definition: ShaderManager.hpp:9
void destroyShaderModules(VkDevice logDevice)
Destroys created shader modules. This function can be called after pipeline creation.
Definition: ShaderManager.cpp:67
constexpr ConstantFilepath kGLSLObjectVertexShaderPath
Definition: ShaderManager.hpp:13
constexpr ConstantFilepath kGLSLTestFragmentShaderPath
Definition: ShaderManager.hpp:12
constexpr ConstantFilepath kGLSLTestVertexShaderPath
Definition: ShaderManager.hpp:11
std::string getShaderCode(VkShaderStageFlags stage, ObjectType object)
Returns the shader code as a string corresponding to the given stage and object type.
Definition: ShaderManager.cpp:157
static VkShaderModule createShaderModule(VkDevice logDevice, VkShaderStageFlagBits stage, ObjectType objectType)
Creates a shader module from a file.
Definition: ShaderManager.cpp:26
std::vector< uint32_t > compileGLSLToSpirv(VkShaderStageFlagBits shaderType, ObjectType object)
Compiles a given GLSL code to SPIRV.
Definition: ShaderManager.cpp:97
constexpr ConstantFilepath kGLSLObjectFragmentShaderPath
Definition: ShaderManager.hpp:14
VkPipelineShaderStageCreateInfo createVertexShaderInfo(VkDevice logDevice, ObjectType objectType)
Creates a vertex shader info to be used in pipeline creation.
Definition: ShaderManager.cpp:45
VkPipelineShaderStageCreateInfo createFragmentShaderInfo(VkDevice logDevice, ObjectType objectType)
Creates a fragment shader info to be used in pipeline creation.
Definition: ShaderManager.cpp:56
constexpr const char * kStandardEntryPoint
Definition: ShaderManager.hpp:15
static std::vector< char > readFile(ConstantFilepath filepath)
Reads a file and returns a vector of chars.
Definition: ShaderManager.cpp:77
static std::vector< VkShaderModule > createdModules
Definition: ShaderManager.hpp:68