1#ifndef LIBSBX_GRAPHICS_BUFFERS_PUSH_HANDLER_HPP_
2#define LIBSBX_GRAPHICS_BUFFERS_PUSH_HANDLER_HPP_
9#include <libsbx/graphics/pipeline/shader.hpp>
10#include <libsbx/graphics/pipeline/pipeline.hpp>
12#include <libsbx/graphics/commands/command_buffer.hpp>
14namespace sbx::graphics {
20 push_handler(
const std::optional<shader::uniform_block>& uniform_block = std::nullopt);
22 template<
typename Type>
23 auto push(
const Type&
object, std::size_t size, std::size_t offset) -> void;
25 template<
typename Type>
26 auto push(
const std::string& uniform_name,
const Type&
object, std::size_t size = 0) -> void;
28 auto update(
const std::optional<shader::uniform_block>& uniform_block) -> bool;
34 std::optional<shader::uniform_block> _uniform_block;
35 std::unique_ptr<std::uint8_t[]> _data;
41#include <libsbx/graphics/buffers/push_handler.ipp>
Definition: command_buffer.hpp:14
Definition: pipeline.hpp:18
Definition: push_handler.hpp:16