VertexAttributeLayoutComponent.ixx File
Component that stores active vertex attribute layouts by semantic. More...
Included Headers
#include <string>
#include <array>
#include <bitset>
#include <cstddef>
#include <utility>
#include <cassert>
#include "helios-engine-config.h"
#include <helios.engine.rendering.mesh.types.VertexAttribute>
#include <helios.engine.rendering.mesh.types.VertexAttributeLayout>
#include <helios.engine.rendering.mesh.types.VertexAttributeSemantics>
Namespaces Index
| namespace | helios |
| namespace | engine |
| namespace | rendering |
| namespace | mesh |
| namespace | components |
Classes Index
| class | VertexAttributeLayoutComponent<TOwnerHandle, TVertexInput> |
|
Stores a semantic-indexed set of vertex attribute layouts. More... | |
Description
Component that stores active vertex attribute layouts by semantic.
File Listing
The file content with the documentation metadata removed is:
13#include "helios-engine-config.h"
21using namespace helios::engine::rendering::mesh::types;
22export namespace helios::engine::rendering::mesh::components {
32 class VertexAttributeLayoutComponent {
56 void set(VertexAttributeLayout layout) {
65 active_.set(idx);
77 requires (std::same_as<std::remove_cvref_t<TAttributes>, VertexAttributeLayout> && ...)
78 explicit VertexAttributeLayoutComponent(TAttributes&& ... layout)
80 (set(std::forward<TAttributes>(layout)), ...);
90 [[nodiscard]] const VertexAttributeLayout* layout(const VertexAttributeSemantics semantics) const noexcept {
92 const auto idx = static_cast<std::size_t>(std::to_underlying(semantics));
93 if (!active_.test(idx)) {
97 return &layouts_[idx];
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.