nCine::RHI::Vulkan::VulkanUniformBlock class

Reflected metadata of a single active uniform block (aliased as RHI::UniformBlock).

Holds the block name, a synthetic sequential index and binding index, its std140 byte size and the metadata of its member uniforms (each with a std140 offset). The backend does not pad the size to any device alignment, so GetAlignAmount() is always 0.

Public types

enum class DiscoverUniforms { ENABLED, DISABLED }

Public static variables

static std::uint32_t MaxNameLength constexpr

Constructors, destructors, conversion operators

VulkanUniformBlock()
VulkanUniformBlock(std::uint32_t index, const char* name, std::int32_t dataSize)

Public functions

auto GetIndex() const -> std::uint32_t
auto GetBindingIndex() const -> std::int32_t
auto GetSize() const -> std::int32_t
auto GetAlignAmount() const -> std::uint8_t
auto GetName() const -> const char*
auto GetUniform(const char* name) -> VulkanUniform*
Returns the member uniform with the specified name, or nullptr if not found.
void SetBlockBinding(std::int32_t blockBinding)