45 size_t capacity_bytes,
88 void submit(
const std::vector<uint8_t>& bytes);
101 void set_texture(std::shared_ptr<Core::VKImage>
image, std::string binding);
113 void bind_texture(uint32_t array_index,
const std::shared_ptr<Core::VKImage>&
image);
127 template <
typename V>
128 requires std::ranges::contiguous_range<V>
129 && std::is_trivially_copyable_v<std::ranges::range_value_t<V>>
132 const auto* src =
reinterpret_cast<const uint8_t*
>(std::ranges::data(vertices));
133 const size_t n = std::ranges::size(vertices) *
sizeof(std::ranges::range_value_t<V>);
134 submit(std::vector<uint8_t>(src, src + n));
146 template <
typename V>
147 requires std::is_trivially_copyable_v<V>
148 && (!std::ranges::range<V>)
151 const auto* src =
reinterpret_cast<const uint8_t*
>(&vertex);
152 submit(std::vector<uint8_t>(src, src +
sizeof(V)));
Vulkan-backed buffer wrapper used in processing chains.
ProcessingToken
Bitfield enum defining processing characteristics and backend requirements for buffer operations.
PrimitiveTopology
Vertex assembly primitive topology.
Unified rendering configuration for graphics buffers.