|
| VulkanShader (const std::string &vertexSrc, const std::string &fragmentSrc, std::shared_ptr< UniformBufferObject > ubo) |
|
virtual void | Bind () const override |
| Installs a shader (vertex + fragment) and uniform program object as part of current rendering state.
|
|
virtual void | UnBind () const override |
| Undo the binding of shader program.
|
|
std::vector< uint32_t > | Compile (const std::string &src, const std::string &source, EShLanguage lang) |
|
void | UploadUniformMat4 (const std::string &name, const glm::mat4 &matrix) |
|
const std::vector< uint32_t > & | GetVertSpirV () const |
|
const std::vector< uint32_t > & | GetFragSpirV () const |
|
std::shared_ptr< VulkanUniformBuffer > | GetUniformBufferObject () const |
|
| Shader (std::shared_ptr< UniformBufferObject > ubo) |
| A constructor.
|
|
virtual | ~Shader ()=default |
| Destructor.
|
|
virtual void | Bind (const std::string &texShaderNames) const |
| Binding using name of texture.
|
|
std::shared_ptr< UniformBufferObject > | GetUniformBufferObject () const |
| Getter for uniform buffer object.
|
|
const std::string & | GetShaderName () const |
| Getter for shader name.
|
|
|
static Shader * | Create (const std::string &vertexSrc, const std::string &fragmentSrc) |
| Instantiating shader object according to the programmer chosen API.
|
|
static Shader * | Create (const std::string &vertexSrcFile, const std::string &fragmentSrcFile, std::shared_ptr< UniformBufferObject > ubo, const std::string &shaderName="NoNamedShader") |
| For instantiating shader object accodring to programer's chosen API.
|
|
std::string | m_ShaderName |
|
◆ Bind()
void Karma::VulkanShader::Bind |
( |
| ) |
const |
|
overridevirtual |
Installs a shader (vertex + fragment) and uniform program object as part of current rendering state.
- Todo
- For OpenGL only. Vulkan Bind() is empty and may need abstract thinking
- Since
- Karma 1.0.0
Reimplemented from Karma::Shader.
◆ UnBind()
void Karma::VulkanShader::UnBind |
( |
| ) |
const |
|
overridevirtual |
Undo the binding of shader program.
- Todo
- Only OpenGL uses this, that too, for shader and not uniform. May need pondering over.
- Since
- Karma 1.0.0
Reimplemented from Karma::Shader.
The documentation for this class was generated from the following files:
- Karma/src/Platform/Vulkan/VulkanShader.h
- Karma/src/Platform/Vulkan/VulkanShader.cpp