nCine::RHI::Vulkan::VulkanVertexFormat class

Vertex layout description of the Vulkan 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 graphics pipeline's VkVertexInputAttributeDescription/VkVertexInputBindingDescription 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

VulkanVertexFormat()

Public functions

auto GetAttributeCount() const -> std::uint32_t
auto GetIbo() const -> const VulkanBufferObject*
void SetIbo(const VulkanBufferObject* 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 VulkanVertexFormat& other) const -> bool
auto operator!=(const VulkanVertexFormat& other) const -> bool