le2d v0.4.6
2D game engine framework
 
Loading...
Searching...
No Matches
le::IRenderer Class Referenceabstract

#include <le2d/renderer.hpp>

Inheritance diagram for le::IRenderer:

Public Types

using UserData = UserDrawData
 

Public Member Functions

virtual auto command_buffer () const -> vk::CommandBuffer=0
 
virtual auto get_stats () const -> RenderStats const &=0
 
auto is_rendering () const -> bool
 
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 framebuffer_size () const -> glm::ivec2=0
 
virtual void set_line_width (float width)=0
 
virtual void set_shader (IShader const &shader)=0
 
virtual void set_user_data (UserDrawData const &user_data)=0
 
virtual void draw (Primitive const &primitive, std::span< RenderInstance const > instances)=0
 Draw given instances of a Primitive.
 
virtual auto unprojector () const -> Unprojector=0
 

Public Attributes

Transform view {}
 Render view (generates view matrix).
 
vk::PolygonMode polygon_mode {vk::PolygonMode::eFill}
 Fill mode.
 
Viewport viewport {viewport::Dynamic{}}
 Viewport type.
 
kvf::UvRect scissor_rect {kvf::uv_rect_v}
 Scissor rect.
 

Static Public Attributes

static constexpr auto min_size_v {32}
 
static constexpr auto max_size_v {4 * 4096}
 

Member Typedef Documentation

◆ UserData

Member Function Documentation

◆ begin_render()

virtual auto le::IRenderer::begin_render ( vk::CommandBuffer  command_buffer,
glm::ivec2  size,
kvf::Color  clear = kvf::black_v 
) -> bool
pure virtual

Begin rendering.

Parameters
command_bufferRender Command Buffer.
sizeDesired RenderTarget / framebuffer size.
clearClear color (in sRGB space).
Returns
false if already rendering.

◆ command_buffer()

virtual auto le::IRenderer::command_buffer ( ) const -> vk::CommandBuffer
pure virtual

◆ draw()

virtual void le::IRenderer::draw ( Primitive const &  primitive,
std::span< RenderInstance const >  instances 
)
pure virtual

Draw given instances of a Primitive.

Parameters
primitivePrimitive to draw.
instancesRender Instances to draw.

◆ end_render()

virtual auto le::IRenderer::end_render ( ) -> kvf::RenderTarget const &
pure virtual

End rendering.

◆ framebuffer_size()

virtual auto le::IRenderer::framebuffer_size ( ) const -> glm::ivec2
pure virtual

◆ get_stats()

virtual auto le::IRenderer::get_stats ( ) const -> RenderStats const &
pure virtual

◆ is_rendering()

auto le::IRenderer::is_rendering ( ) const -> bool
inline
Returns
true if rendering has begun.

◆ set_line_width()

virtual void le::IRenderer::set_line_width ( float  width)
pure virtual

◆ set_shader()

virtual void le::IRenderer::set_shader ( IShader const &  shader)
pure virtual

◆ set_user_data()

virtual void le::IRenderer::set_user_data ( UserDrawData const &  user_data)
pure virtual

◆ unprojector()

virtual auto le::IRenderer::unprojector ( ) const -> Unprojector
pure virtual
Returns
Unprojector for current view and viewport.

Member Data Documentation

◆ max_size_v

constexpr auto le::IRenderer::max_size_v {4 * 4096}
staticconstexpr

◆ min_size_v

constexpr auto le::IRenderer::min_size_v {32}
staticconstexpr

◆ polygon_mode

vk::PolygonMode le::IRenderer::polygon_mode {vk::PolygonMode::eFill}

Fill mode.

◆ scissor_rect

kvf::UvRect le::IRenderer::scissor_rect {kvf::uv_rect_v}

Scissor rect.

◆ view

Transform le::IRenderer::view {}

Render view (generates view matrix).

◆ viewport

Viewport le::IRenderer::viewport {viewport::Dynamic{}}

Viewport type.


The documentation for this class was generated from the following file: