3#include <kvf/color.hpp>
19 void create(kvf::Rect<>
const& rect, kvf::UvRect
const& uv = kvf::uv_rect_v, kvf::Color color = kvf::white_v);
27 std::array<Vertex, vertex_count_v> m_vertices{};
33 static constexpr auto indices_v = std::array{0u, 1u, 2u, 2u, 3u, 0u};
38 [[nodiscard]]
auto get_topology() const -> vk::PrimitiveTopology final {
return vk::PrimitiveTopology::eTriangleList; }
44 static constexpr auto indices_v = std::array{0u, 1u, 2u, 3u, 0u};
49 [[nodiscard]]
auto get_topology() const -> vk::PrimitiveTopology final {
return vk::PrimitiveTopology::eLineStrip; }
Interface for drawable geometry.
Definition geometry.hpp:9
static constexpr auto default_length_v
Definition geometry.hpp:11
Interface for Quad Geometry.
Definition quad.hpp:8
auto get_rect() const -> kvf::Rect<>
static constexpr std::size_t vertex_count_v
Definition quad.hpp:10
static constexpr auto default_size_v
Definition quad.hpp:12
auto get_vertices() const -> std::span< Vertex const > final
Definition quad.hpp:16
auto get_uv() const -> kvf::UvRect
auto get_origin() const -> glm::vec2
Definition quad.hpp:24
auto get_size() const -> glm::vec2
Definition quad.hpp:23
void create(kvf::Rect<> const &rect, kvf::UvRect const &uv=kvf::uv_rect_v, kvf::Color color=kvf::white_v)
void create(glm::vec2 size=default_size_v)
Line rectangle Geometry. (Quad outline.)
Definition quad.hpp:42
static constexpr auto indices_v
Definition quad.hpp:44
auto get_indices() const -> std::span< std::uint32_t const > final
Definition quad.hpp:48
auto get_topology() const -> vk::PrimitiveTopology final
Definition quad.hpp:49
Quad Geometry.
Definition quad.hpp:31
static constexpr auto indices_v
Definition quad.hpp:33
auto get_indices() const -> std::span< std::uint32_t const > final
Definition quad.hpp:37
auto get_topology() const -> vk::PrimitiveTopology final
Definition quad.hpp:38
Drawable vertex.
Definition vertex.hpp:7