SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
spark::render::InputAssembler< VertexBufferLayoutType, IndexBufferLayoutType > Class Template Referenceabstract

Represents a the input assembler state of a IRenderPipeline. More...

#include <InputAssembler.h>

Inheritance diagram for spark::render::InputAssembler< VertexBufferLayoutType, IndexBufferLayoutType >:
spark::render::IInputAssembler

Public Types

using VertexBufferLayout = VertexBufferLayoutType
 
using IndexBufferLayout = IndexBufferLayoutType
 

Public Member Functions

virtual std::vector< const VertexBufferLayoutType * > vertexBufferLayouts () const noexcept=0
 Gets all vertex buffers layouts in the input assembly.
 
const VertexBufferLayoutType & vertexBufferLayout (unsigned binding) const override=0
 
const IndexBufferLayoutType & indexBufferLayout () const override=0
 Gets the index buffer layout.
 
- Public Member Functions inherited from spark::render::IInputAssembler
std::vector< const IVertexBufferLayout * > vertexBufferLayouts () const noexcept
 Gets all vertex buffers layouts in the input assembly.
 
virtual const IVertexBufferLayoutvertexBufferLayout (unsigned int binding) const =0
 Gets the vertex buffer layout for the given binding.
 
virtual PrimitiveTopology topology () const noexcept=0
 Gets the topology of the input assembly.
 

Detailed Description

template<typename VertexBufferLayoutType, typename IndexBufferLayoutType>
class spark::render::InputAssembler< VertexBufferLayoutType, IndexBufferLayoutType >

Represents a the input assembler state of a IRenderPipeline.

Template Parameters
VertexBufferLayoutTypeThe type of the vertex buffer layout. (inherits from IVertexBufferLayout)
IndexBufferLayoutTypeThe type of the index buffer layout. (inherits from IIndexBufferLayout)

Member Function Documentation

◆ indexBufferLayout()

template<typename VertexBufferLayoutType , typename IndexBufferLayoutType >
const IndexBufferLayoutType & spark::render::InputAssembler< VertexBufferLayoutType, IndexBufferLayoutType >::indexBufferLayout ( ) const
nodiscardoverridepure virtual

Gets the index buffer layout.

Returns
The IIndexBufferLayout for the input assembly.

Implements spark::render::IInputAssembler.

Implemented in spark::render::vk::VulkanInputAssembler.

◆ vertexBufferLayout()

template<typename VertexBufferLayoutType , typename IndexBufferLayoutType >
const VertexBufferLayoutType & spark::render::InputAssembler< VertexBufferLayoutType, IndexBufferLayoutType >::vertexBufferLayout ( unsigned binding) const
nodiscardoverridepure virtual

◆ vertexBufferLayouts()

template<typename VertexBufferLayoutType , typename IndexBufferLayoutType >
virtual std::vector< const VertexBufferLayoutType * > spark::render::InputAssembler< VertexBufferLayoutType, IndexBufferLayoutType >::vertexBufferLayouts ( ) const
nodiscardpure virtualnoexcept

Gets all vertex buffers layouts in the input assembly.

Returns
A std::vector of vertex buffers layouts in the input assembly.

Implemented in spark::render::vk::VulkanInputAssembler.