4#include <vulkan/vulkan.hpp>
7#include <wren_math/matrix.hpp>
8#include <wren_math/vector.hpp>
48 const ::vk::Device& device,
const VmaAllocator& allocator,
49 const ::vk::CommandPool& command_pool,
50 const ::vk::Queue& graphics_queue);
52 [[nodiscard]]
auto shader()
const {
return shader_; }
54 void bind(const ::vk::CommandBuffer& cmd);
55 void flush(const ::vk::CommandBuffer& cmd);
75 std::shared_ptr<vk::Shader> shader_;
76 std::shared_ptr<wren::vk::Buffer> index_buffer;
77 std::shared_ptr<wren::vk::Buffer> vertex_buffer;
78 std::shared_ptr<vk::Buffer> uniform_buffer;
81 ::vk::Queue graphics_queue;
82 ::vk::CommandPool command_pool;
84 ::vk::Extent2D output_size;
86 VmaAllocator allocator;
87 std::vector<Vertex> vertices;
88 std::vector<uint16_t> indices;
90 std::map<std::string, Window> windows_;
91 std::queue<std::string> stack;
Definition instance.hpp:45
void flush(const ::vk::CommandBuffer &cmd)
Definition instance.cpp:56
auto shader() const
Definition instance.hpp:52
void End()
Definition instance.cpp:54
void resize_viewport(const ::vk::Extent2D &size)
Definition instance.hpp:57
auto BeginWindow(const std::string &name, const wren::math::vec2f &size) -> bool
Definition instance.cpp:109
void Begin()
Definition instance.cpp:49
Instance(const std::shared_ptr< vk::Shader > &shader, const ::vk::Device &device, const VmaAllocator &allocator, const ::vk::CommandPool &command_pool, const ::vk::Queue &graphics_queue)
Definition instance.cpp:12
auto IO() -> Inputs &
Definition instance.hpp:66
void EndWindow()
Definition instance.cpp:138
void bind(const ::vk::CommandBuffer &cmd)
Definition instance.hpp:10
static const std::size_t MAX_VERTICES
Definition instance.hpp:24
static const std::size_t MAX_INDICES
Definition instance.hpp:25
Definition instance.hpp:32
wren::math::Mat4f proj
Definition instance.hpp:33
Definition instance.hpp:27
wren::math::Vec4f colour
Definition instance.hpp:29
wren::math::vec2f pos
Definition instance.hpp:28
Definition instance.hpp:12
wren::math::vec2f mouse_offset
Definition instance.hpp:21
wren::math::vec2f size
Definition instance.hpp:15
bool hovered
Definition instance.hpp:19
wren::math::vec2f pos
Definition instance.hpp:14
bool selected
Definition instance.hpp:20
std::string name
Definition instance.hpp:13
Definition vector.hpp:148
Definition vector.hpp:119