|
| virtual void | Bind () const override |
| | For binding OpenGL vertex array object.
|
| |
| virtual void | UnBind () const override |
| | Undo what Bind does.
|
| |
| virtual void | AddVertexBuffer (const std::shared_ptr< VertexBuffer > &vertexBuffer) override |
| |
| virtual void | SetIndexBuffer (const std::shared_ptr< IndexBuffer > &indexBuffer) override |
| |
| virtual void | SetMesh (std::shared_ptr< Mesh > mesh) override |
| | Sets the index and vertex buffers seperately.
|
| |
| virtual void | SetMaterial (std::shared_ptr< Material > material) override |
| | Sets the material.
|
| |
| virtual void | SetShader (std::shared_ptr< Shader > shader) override |
| |
|
void | CreateDescriptorSetLayout () |
| |
|
void | CreatePipelineLayout () |
| |
|
void | CreateGraphicsPipeline () |
| |
|
void | CreateDescriptorPool () |
| |
|
void | CreateDescriptorSets () |
| |
|
void | CreateExternalViewPort (float startX, float startY, float width, float height) |
| |
|
void | GenerateVulkanVA () |
| |
|
void | RecreateVulkanVA () |
| |
|
void | CleanupPipeline () |
| |
|
VkShaderModule | CreateShaderModule (const std::vector< uint32_t > &code) |
| |
|
VkPipeline | GetGraphicsPipeline () const |
| |
|
VkPipelineLayout | GetGraphicsPipelineLayout () const |
| |
|
const std::shared_ptr< VulkanShader > & | GetShader () const |
| |
|
const std::shared_ptr< VulkanVertexBuffer > & | GetVertexBuffer () const |
| |
|
const std::vector< VkDescriptorSet > & | GetDescriptorSets () const |
| |
| virtual std::shared_ptr< Material > | GetMaterial () const override |
| | Getter function for material.
|
| |
| virtual void | UpdateProcessAndSetReadyForSubmission () const override |
| | Called each game loop for updating.
|
| |
| virtual const std::vector< std::shared_ptr< VertexBuffer > > & | GetVertexBuffers () const override |
| |
| virtual const VulkanIndexBuffer * | GetIndexBuffer () const override |
| |
| virtual | ~VertexArray () |
| | A destructor.
|
| |
◆ AddVertexBuffer()
| void Karma::VulkanVertexArray::AddVertexBuffer |
( |
const std::shared_ptr< VertexBuffer > & | vertexBuffer | ) |
|
|
overridevirtual |
◆ Bind()
| void Karma::VulkanVertexArray::Bind |
( |
| ) |
const |
|
overridevirtual |
For binding OpenGL vertex array object.
- Todo
- Seems only specific to OpenGL. Need to think the abstraction with Vulkan in mind
- Since
- Karma 1.0.0
Implements Karma::VertexArray.
◆ GetIndexBuffer()
◆ GetMaterial()
| virtual std::shared_ptr< Material > Karma::VulkanVertexArray::GetMaterial |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ GetVertexBuffers()
| virtual const std::vector< std::shared_ptr< VertexBuffer > > & Karma::VulkanVertexArray::GetVertexBuffers |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ SetIndexBuffer()
| void Karma::VulkanVertexArray::SetIndexBuffer |
( |
const std::shared_ptr< IndexBuffer > & | indexBuffer | ) |
|
|
overridevirtual |
◆ SetMaterial()
| void Karma::VulkanVertexArray::SetMaterial |
( |
std::shared_ptr< Material > | material | ) |
|
|
overridevirtual |
Sets the material.
- Parameters
-
| material | Shader and texture setting |
- Todo
- a seperate setting of shader may be redundant
- Since
- Karma 1.0.0
Implements Karma::VertexArray.
◆ SetMesh()
| void Karma::VulkanVertexArray::SetMesh |
( |
std::shared_ptr< Mesh > | mesh | ) |
|
|
overridevirtual |
Sets the index and vertex buffers seperately.
- Parameters
-
| mesh | A collection of index and vertex buffers to be set |
- Since
- Karma 1.0.0
Implements Karma::VertexArray.
◆ SetShader()
| void Karma::VulkanVertexArray::SetShader |
( |
std::shared_ptr< Shader > | shader | ) |
|
|
overridevirtual |
◆ UnBind()
| virtual void Karma::VulkanVertexArray::UnBind |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ UpdateProcessAndSetReadyForSubmission()
| void Karma::VulkanVertexArray::UpdateProcessAndSetReadyForSubmission |
( |
| ) |
const |
|
overridevirtual |
Called each game loop for updating.
- Note
- includes uniform updation (vertex coordinates updation in shader by view and projection matrices)
- Since
- Karma 1.0.0
Implements Karma::VertexArray.
The documentation for this class was generated from the following files: