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
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