10#include <utility/graphic/shader.hpp>
12#include <utility/logging/loggable.hpp>
13#include <utility/logging/default_logger.hpp>
15#include "evan/EvanPlatform.hpp"
29 protected utility::logging::Loggable<GPUShader,
30 utility::logging::DefaultLogger>
41 GPUShader(VkDevice device,
const utility::graphic::Shader &shader);
The GPUShader class represents a shader used in rendering.
std::vector< uint32_t > _fragmentCode
void cleanup()
Releases the Vulkan shader modules owned by this shader.
void destroy()
Destroys the shader modules associated with this GPUShader object.
std::vector< uint32_t > _vertexCode
GPUShader(VkDevice device, const utility::graphic::Shader &shader)
Constructs a GPUShader object with the given vertex and fragment shader code.
VkShaderModule getFragmentShaderModule() const
Retrieves the fragment shader module.
VkShaderModule _fragmentShaderModule
VkShaderModule _vertexShaderModule
VkShaderModule getVertexShaderModule() const
Retrieves the vertex shader module.