|
LiteFX 0.4.1.2025
Computer Graphics Engine
|
Represents a the input assembler state of a RenderPipeline. More...
#include <rendering.hpp>
Inherits LiteFX::Rendering::IInputAssembler.
Public Types | |
| using | vertex_buffer_layout_type = TVertexBufferLayout |
| using | index_buffer_layout_type = TIndexBufferLayout |
Public Member Functions | |||||
| ~InputAssembler () noexcept override=default | |||||
| virtual Enumerable< const vertex_buffer_layout_type & > | vertexBufferLayouts () const =0 | ||||
| const vertex_buffer_layout_type & | vertexBufferLayout (UInt32 binding) const override=0 | ||||
Returns a pointer the vertex buffer layout for binding provided with binding .
| |||||
| const index_buffer_layout_type * | indexBufferLayout () const noexcept override=0 | ||||
Returns a pointer to the index buffer layout, or nullptr if the input assembler does not handle indices.
| |||||
Public Member Functions inherited from LiteFX::Rendering::IInputAssembler | |||||
| ~IInputAssembler () noexcept override=default | |||||
| Enumerable< const IVertexBufferLayout & > | vertexBufferLayouts () const | ||||
| Returns all vertex buffer layouts of the input assembly. | |||||
| virtual PrimitiveTopology | topology () const noexcept=0 | ||||
| Returns the primitive topology. | |||||
Public Member Functions inherited from LiteFX::SharedObject | |||||
| 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 | |
| InputAssembler () noexcept=default | |
| InputAssembler (const InputAssembler &)=default | |
| InputAssembler (InputAssembler &&) noexcept=default | |
| InputAssembler & | operator= (const InputAssembler &)=default |
| InputAssembler & | operator= (InputAssembler &&) noexcept=default |
Protected Member Functions inherited from LiteFX::Rendering::IInputAssembler | |
| IInputAssembler () noexcept=default | |
| IInputAssembler (const IInputAssembler &)=default | |
| IInputAssembler (IInputAssembler &&) noexcept=default | |
| IInputAssembler & | operator= (const IInputAssembler &)=default |
| IInputAssembler & | operator= (IInputAssembler &&) noexcept=default |
Protected Member Functions inherited from LiteFX::SharedObject | |
| 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 | |
Static Protected Member Functions inherited from LiteFX::SharedObject | |
| template<typename T , typename... TArgs> | |
| static auto | create (TArgs &&... args) -> SharedPtr< T > |
| Generic factory method used to create instances of the shared object. | |
Represents a the input assembler state of a RenderPipeline.
| TVertexBufferLayout | The type of the vertex buffer layout. Must implement IVertexBufferLayout. |
| TIndexBufferLayout | The type of the index buffer layout. Must implement IIndexBufferLayout. |
| using LiteFX::Rendering::InputAssembler< TVertexBufferLayout, TIndexBufferLayout >::index_buffer_layout_type = TIndexBufferLayout |
| using LiteFX::Rendering::InputAssembler< TVertexBufferLayout, TIndexBufferLayout >::vertex_buffer_layout_type = TVertexBufferLayout |
|
protecteddefaultnoexcept |
|
protecteddefault |
|
protecteddefaultnoexcept |
|
overridedefaultnoexcept |
|
overridepure 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.Implements LiteFX::Rendering::IInputAssembler.
Implemented in LiteFX::Rendering::Backends::DirectX12InputAssembler, and LiteFX::Rendering::Backends::VulkanInputAssembler.
|
protecteddefault |
|
protecteddefaultnoexcept |
|
overridepure 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 . |
Implements LiteFX::Rendering::IInputAssembler.
Implemented in LiteFX::Rendering::Backends::DirectX12InputAssembler, and LiteFX::Rendering::Backends::VulkanInputAssembler.
|
pure virtual |