Skip to content

LiteFX::Rendering::InputAssembler

Represents a the input assembler state of a RenderPipeline.

Synopsis

Declared in <litefx/rendering.hpp>

template<
    typename TVertexBufferLayout,
    typename TIndexBufferLayout>
requires meta::implements<TVertexBufferLayout, IVertexBufferLayout> &&
        meta::implements<TIndexBufferLayout, IIndexBufferLayout>
class InputAssembler
    : public IInputAssembler

Base Classes

NameDescription
IInputAssemblerThe interface for an input assembler state.

Type Aliases

Member Functions

NameDescription
~InputAssembler [destructor] [virtual]Destructor
controlPoints [virtual]The number of control points for a patch, if the topology is set to PrimitiveTopology::PatchList.
indexBufferLayout [virtual]Returns a pointer to the index buffer layout, or nullptr if the input assembler does not handle indices.
shared_from_this Returns a shared pointer to the current object instance.
topology [virtual]Returns the primitive topology.
vertexBufferLayout [virtual]Returns a pointer the vertex buffer layout for binding provided with binding.
vertexBufferLayouts [virtual]Returns all vertex buffer layouts of the input assembly.
weak_from_this Returns a weak pointer to the current object instance.

Protected Types

NameDescription
Allocator An allocator used to allocate the shared object.

Protected Member Functions

NameDescription
InputAssembler [constructor]Constructors
operator= Assignment operators

Protected Static Member Functions

NameDescription
create Generic factory method used to create instances of the shared object.

Template Parameters

NameDescription
TVertexBufferLayoutThe type of the vertex buffer layout. Must implement IVertexBufferLayout.
TIndexBufferLayoutThe type of the index buffer layout. Must implement IIndexBufferLayout.

Derived Classes

NameDescription
DirectX12InputAssembler Implements the DirectX 12 input assembler state.
VulkanInputAssembler Implements the Vulkan input assembler state.