Euphoria
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
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< floatdata
 
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

◆ 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

constexpr 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: