2#ifndef LIBSBX_GRAPHICS_BUFFERS_PUSH_HANDLER_HPP_
3#define LIBSBX_GRAPHICS_BUFFERS_PUSH_HANDLER_HPP_
10#include <libsbx/graphics/pipeline/shader.hpp>
11#include <libsbx/graphics/pipeline/pipeline.hpp>
12#include <libsbx/graphics/pipeline/graphics_pipeline.hpp>
14#include <libsbx/graphics/commands/command_buffer.hpp>
16namespace sbx::graphics {
28 template<
typename Type>
29 auto push(
const Type&
object, std::size_t size, std::size_t offset) -> void;
31 template<
typename Type>
32 auto push(
const Type&
object) ->
void {
33 push(
object,
sizeof(Type), 0u);
36 template<
typename Type>
37 auto push(
const std::string& uniform_name,
const Type&
object, std::size_t size = 0) -> void;
45 std::optional<shader::uniform_block> _uniform_block;
46 std::unique_ptr<std::uint8_t[]> _data;
47 VkPipelineLayout _pipeline_layout;
53#include <libsbx/graphics/buffers/push_handler.ipp>
Definition: command_buffer.hpp:15
Definition: pipeline.hpp:21
Definition: push_handler.hpp:18
Definition: resource_storage.hpp:18