LiteFX 0.4.1.2025
Computer Graphics Engine
|
The interface for an input assembler state. More...
#include <rendering_api.hpp>
Inherits LiteFX::SharedObject.
Inherited by LiteFX::Rendering::InputAssembler< DirectX12VertexBufferLayout, DirectX12IndexBufferLayout >, LiteFX::Rendering::InputAssembler< VulkanVertexBufferLayout, VulkanIndexBufferLayout >, and LiteFX::Rendering::InputAssembler< TVertexBufferLayout, TIndexBufferLayout >.
Public Member Functions | |
~IInputAssembler () noexcept override=default | |
Enumerable< const IVertexBufferLayout & > | vertexBufferLayouts () const |
Returns all vertex buffer layouts of the input assembly. | |
virtual const IVertexBufferLayout & | vertexBufferLayout (UInt32 binding) const =0 |
Returns a pointer the vertex buffer layout for binding provided with binding . | |
virtual const IIndexBufferLayout * | indexBufferLayout () const noexcept=0 |
Returns a pointer to the index buffer layout, or nullptr if the input assembler does not handle indices. | |
virtual PrimitiveTopology | topology () const noexcept=0 |
Returns the primitive topology. | |
![]() | |
virtual | ~SharedObject () noexcept=default |
Destroys the shared object. | |
template<typename TSelf > | |
auto | shared_from_this (this TSelf &&self) noexcept |
Returns a shared pointer to the current object instance. | |
template<typename TSelf > | |
auto | weak_from_this (this TSelf &&self) noexcept -> WeakPtr< std::remove_reference_t< TSelf > > |
Returns a weak pointer to the current object instance. | |
Protected Member Functions | |
IInputAssembler () noexcept=default | |
IInputAssembler (const IInputAssembler &)=default | |
IInputAssembler (IInputAssembler &&) noexcept=default | |
IInputAssembler & | operator= (const IInputAssembler &)=default |
IInputAssembler & | operator= (IInputAssembler &&) noexcept=default |
![]() | |
SharedObject () noexcept=default | |
Initializes a new shared object. | |
SharedObject (SharedObject &&) noexcept=default | |
SharedObject (const SharedObject &)=default | |
SharedObject & | operator= (SharedObject &&) noexcept=default |
SharedObject & | operator= (const SharedObject &)=default |
Additional Inherited Members | |
![]() | |
template<typename T , typename... TArgs> | |
static auto | create (TArgs &&... args) -> SharedPtr< T > |
Generic factory method used to create instances of the shared object. | |
The interface for an input assembler state.
|
protecteddefaultnoexcept |
|
protecteddefault |
|
protecteddefaultnoexcept |
|
overridedefaultnoexcept |
|
pure virtualnoexcept |
Returns a pointer to the index buffer layout, or nullptr
if the input assembler does not handle indices.
nullptr
if the input assembler does not handle indices.Implemented in LiteFX::Rendering::Backends::DirectX12InputAssembler, LiteFX::Rendering::Backends::VulkanInputAssembler, LiteFX::Rendering::InputAssembler< TVertexBufferLayout, TIndexBufferLayout >, LiteFX::Rendering::InputAssembler< DirectX12VertexBufferLayout, DirectX12IndexBufferLayout >, and LiteFX::Rendering::InputAssembler< VulkanVertexBufferLayout, VulkanIndexBufferLayout >.
|
protecteddefault |
|
protecteddefaultnoexcept |
|
pure virtualnoexcept |
Returns the primitive topology.
Implemented in LiteFX::Rendering::Backends::DirectX12InputAssembler, and LiteFX::Rendering::Backends::VulkanInputAssembler.
|
pure virtual |
Returns a pointer the vertex buffer layout for binding provided with binding .
binding | The binding point of the vertex buffer layout. |
ArgumentOutOfRangeException | Thrown, if no vertex buffer layout is bound to binding . |
Implemented in LiteFX::Rendering::Backends::DirectX12InputAssembler, LiteFX::Rendering::Backends::VulkanInputAssembler, LiteFX::Rendering::InputAssembler< TVertexBufferLayout, TIndexBufferLayout >, LiteFX::Rendering::InputAssembler< DirectX12VertexBufferLayout, DirectX12IndexBufferLayout >, and LiteFX::Rendering::InputAssembler< VulkanVertexBufferLayout, VulkanIndexBufferLayout >.
|
inline |
Returns all vertex buffer layouts of the input assembly.