MetalVertexFormat class
Vertex layout description of the Metal backend (aliased as RHI::VertexFormat).
Records the set of vertex attributes (component count, type, stride, offset and source buffer) the way the OpenGL backend does, so the pipeline's attribute setup code compiles unchanged. The backend builds the render pipeline's MTL::VertexDescriptor from the recorded layout (fed by the offline shader reflection).
Public types
- class Attribute
- A single vertex attribute within a vertex format.
Public static variables
-
static std::
uint32_t MaxAttributes constexpr - The maximum number of vertex attributes.
Constructors, destructors, conversion operators
Public functions
-
auto GetAttributeCount() const -> std::
uint32_t - auto GetIbo() const -> const MetalBufferObject*
- void SetIbo(const MetalBufferObject* ibo)
- void Define()
- Applies the vertex format (no-op; the recorded layout is consumed at pipeline creation).
- void Reset()
- Disables all attributes and clears the index buffer.
-
auto CalculateFingerprint() const -> std::
uint64_t -
auto operator[](std::
uint32_t index) -> Attribute& -
auto operator[](std::
uint32_t index) const -> const Attribute& - auto operator==(const MetalVertexFormat& other) const -> bool
- auto operator!=(const MetalVertexFormat& other) const -> bool