9#include <klib/base_types.hpp>
10#include <kvf/rect.hpp>
11#include <kvf/render_pass_fwd.hpp>
12#include <kvf/render_target.hpp>
35 virtual auto end_render() -> kvf::RenderTarget
const& = 0;
Definition renderer.hpp:15
static constexpr auto min_size_v
Definition renderer.hpp:17
static constexpr auto max_size_v
Definition renderer.hpp:18
virtual auto get_stats() const -> RenderStats const &=0
virtual void set_shader(IShader const &shader)=0
virtual void set_line_width(float width)=0
kvf::UvRect scissor_rect
Scissor rect.
Definition renderer.hpp:58
Viewport viewport
Viewport type.
Definition renderer.hpp:56
auto is_rendering() const -> bool
Definition renderer.hpp:26
virtual void draw(Primitive const &primitive, std::span< RenderInstance const > instances)=0
Draw given instances of a Primitive.
virtual auto framebuffer_size() const -> glm::ivec2=0
Transform view
Render view (generates view matrix).
Definition renderer.hpp:52
virtual auto begin_render(vk::CommandBuffer command_buffer, glm::ivec2 size, kvf::Color clear=kvf::black_v) -> bool=0
Begin rendering.
virtual auto end_render() -> kvf::RenderTarget const &=0
End rendering.
virtual auto command_buffer() const -> vk::CommandBuffer=0
vk::PolygonMode polygon_mode
Fill mode.
Definition renderer.hpp:54
virtual void set_user_data(UserDrawData const &user_data)=0
virtual auto unprojector() const -> Unprojector=0
Opaque interface for a Shader program.
Definition shader.hpp:7
Definition unprojector.hpp:7
Definition animation.hpp:8
std::variant< viewport::Dynamic, viewport::Letterbox > Viewport
Definition viewport.hpp:19
Draw primitive.
Definition primitive.hpp:10
Instance data for instanced rendering.
Definition render_instance.hpp:7
Definition render_stats.hpp:5
Definition user_draw_data.hpp:7
Definition viewport.hpp:7