VertexAttributeLayoutComponent Class Template
Stores a semantic-indexed set of vertex attribute layouts. More...
Declaration
Public Constructors Index
template <typename ... TAttributes> | |
| VertexAttributeLayoutComponent (TAttributes &&... layout) | |
|
Constructs the component from one or more layout descriptors. More... | |
Public Member Functions Index
template <typename TOwnerHandle, typename TVertexInput> | |
| const VertexAttributeLayout * | layout (const VertexAttributeSemantics semantics) const noexcept |
|
Returns the layout for a semantic, or nullptr if not active. More... | |
template <typename TOwnerHandle, typename TVertexInput> | |
| const auto & | layouts () const noexcept |
|
Returns the internal semantic-indexed layout storage. More... | |
template <typename TOwnerHandle, typename TVertexInput> | |
| const auto & | active () const noexcept |
|
Returns the semantic activity mask. More... | |
Private Member Functions Index
template <typename TOwnerHandle, typename TVertexInput> | |
| void | set (VertexAttributeLayout layout) |
|
Registers or replaces one layout entry and marks it active. More... | |
Private Member Attributes Index
template <typename TOwnerHandle, typename TVertexInput> | |
| std::array< VertexAttributeLayout, VertexAttributeSemanticsCount > | layouts_ {} |
|
Semantic-indexed storage for attribute layouts. More... | |
template <typename TOwnerHandle, typename TVertexInput> | |
| std::bitset< VertexAttributeSemanticsCount > | active_ |
|
Activity mask indicating which semantic slots are populated. More... | |
Private Static Attributes Index
template <typename TOwnerHandle, typename TVertexInput> | |
| static constexpr auto | VertexAttributeSemanticsCount = ... |
|
Number of semantic slots available in the layout table. More... | |
Description
Stores a semantic-indexed set of vertex attribute layouts.
- Template Parameters
-
TOwnerHandle Owning entity handle type.
TVertexInput Marker type describing the input stepping domain.
Definition at line 32 of file VertexAttributeLayoutComponent.ixx.
Public Constructors
VertexAttributeLayoutComponent()
| inline explicit |
Constructs the component from one or more layout descriptors.
- Template Parameters
-
TAttributes Parameter pack of VertexAttributeLayout values.
- Parameters
-
layout Layout descriptors to register as active.
Definition at line 78 of file VertexAttributeLayoutComponent.ixx.
Public Member Functions
active()
| inline noexcept |
layout()
| inline noexcept |
Returns the layout for a semantic, or nullptr if not active.
- Parameters
-
semantics Semantic to query.
- Returns
Pointer to layout if active; otherwise nullptr.
Definition at line 90 of file VertexAttributeLayoutComponent.ixx.
layouts()
| inline noexcept |
Private Member Functions
set()
| inline |
Registers or replaces one layout entry and marks it active.
- Parameters
-
layout Layout descriptor to store.
Definition at line 56 of file VertexAttributeLayoutComponent.ixx.
Private Member Attributes
active_
|
Activity mask indicating which semantic slots are populated.
Definition at line 49 of file VertexAttributeLayoutComponent.ixx.
layouts_
|
Semantic-indexed storage for attribute layouts.
Definition at line 44 of file VertexAttributeLayoutComponent.ixx.
Private Static Attributes
VertexAttributeSemanticsCount
| constexpr static |
Number of semantic slots available in the layout table.
- Initialiser
-
= static_cast<std::size_t>( std::to_underlying(VertexAttributeSemantics::size_) )
Definition at line 37 of file VertexAttributeLayoutComponent.ixx.
The documentation for this class was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.