Euphoria
eu::render::LineDrawer Struct Reference

A utility to draw 3d lines. More...

Public Member Functions

 LineDrawer ()
 ~LineDrawer ()
 LineDrawer (const LineDrawer &)=delete
void operator= (const LineDrawer &)=delete
 LineDrawer (LineDrawer &&)=delete
void operator= (LineDrawer &&)=delete
void set_camera (const CompiledCamera &cc)
void set_line_to_dash (const v2 &resolution, float dash_size, float gap_size)
void set_line_to_solid ()
void line (const v3 &world_from, const v3 &world_to, const Lin_rgb &color)
void submit ()
bool is_loaded () const

Public Attributes

core::ShaderVertexAttributes description
core::CompiledShaderVertexAttributes layout
ShaderProgram shader
Uniform clip_from_view_uni
Uniform view_from_world_uni
Uniform resolution_uni
Uniform dash_size_uni
Uniform gap_size_uni
std::vector< float > data
int lines = 0
u32 va
u32 vb
u32 ib

Static Public Attributes

static constexpr int max_lines = 100

Detailed Description

A utility to draw 3d lines.

Helps to batch lines for rendering.

Definition at line 13 of file linebatch.h.

Constructor & Destructor Documentation

◆ LineDrawer() [1/3]

eu::render::LineDrawer::LineDrawer ( )

◆ ~LineDrawer()

eu::render::LineDrawer::~LineDrawer ( )

◆ LineDrawer() [2/3]

eu::render::LineDrawer::LineDrawer ( const LineDrawer & )
delete

◆ LineDrawer() [3/3]

eu::render::LineDrawer::LineDrawer ( LineDrawer && )
delete

Member Function Documentation

◆ is_loaded()

bool eu::render::LineDrawer::is_loaded ( ) const
nodiscard

◆ line()

void eu::render::LineDrawer::line ( const v3 & world_from,
const v3 & world_to,
const Lin_rgb & color )

◆ operator=() [1/2]

void eu::render::LineDrawer::operator= ( const LineDrawer & )
delete

◆ operator=() [2/2]

void eu::render::LineDrawer::operator= ( LineDrawer && )
delete

◆ set_camera()

void eu::render::LineDrawer::set_camera ( const CompiledCamera & cc)

◆ set_line_to_dash()

void eu::render::LineDrawer::set_line_to_dash ( const v2 & resolution,
float dash_size,
float gap_size )

◆ set_line_to_solid()

void eu::render::LineDrawer::set_line_to_solid ( )

◆ submit()

void eu::render::LineDrawer::submit ( )

Member Data Documentation

◆ clip_from_view_uni

Uniform eu::render::LineDrawer::clip_from_view_uni

Definition at line 20 of file linebatch.h.

◆ dash_size_uni

Uniform eu::render::LineDrawer::dash_size_uni

Definition at line 23 of file linebatch.h.

◆ data

std::vector<float> eu::render::LineDrawer::data

Definition at line 26 of file linebatch.h.

◆ description

core::ShaderVertexAttributes eu::render::LineDrawer::description

Definition at line 17 of file linebatch.h.

◆ gap_size_uni

Uniform eu::render::LineDrawer::gap_size_uni

Definition at line 24 of file linebatch.h.

◆ ib

u32 eu::render::LineDrawer::ib

Definition at line 30 of file linebatch.h.

◆ layout

core::CompiledShaderVertexAttributes eu::render::LineDrawer::layout

Definition at line 18 of file linebatch.h.

◆ lines

int eu::render::LineDrawer::lines = 0

Definition at line 27 of file linebatch.h.

◆ max_lines

int eu::render::LineDrawer::max_lines = 100
staticconstexpr

Definition at line 15 of file linebatch.h.

◆ resolution_uni

Uniform eu::render::LineDrawer::resolution_uni

Definition at line 22 of file linebatch.h.

◆ shader

ShaderProgram eu::render::LineDrawer::shader

Definition at line 19 of file linebatch.h.

◆ va

u32 eu::render::LineDrawer::va

Definition at line 28 of file linebatch.h.

◆ vb

u32 eu::render::LineDrawer::vb

Definition at line 29 of file linebatch.h.

◆ view_from_world_uni

Uniform eu::render::LineDrawer::view_from_world_uni

Definition at line 21 of file linebatch.h.


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