cgv
Loading...
Searching...
No Matches
cgv::render::box_renderer Class Reference

renderer that supports point splatting More...

#include <box_renderer.h>

Inheritance diagram for cgv::render::box_renderer:
cgv::render::surface_renderer cgv::render::group_renderer cgv::render::renderer

Public Member Functions

 box_renderer ()
 initializes position_is_center to true
 
void enable_attribute_array_manager (const context &ctx, attribute_array_manager &aam)
 call this before setting attribute arrays to manage attribute array in given manager
 
void disable_attribute_array_manager (const context &ctx, attribute_array_manager &aam)
 call this after last render/draw call to ensure that no other users of renderer change attribute arrays of given manager
 
void set_position_is_center (bool _position_is_center)
 set the flag, whether the position is interpreted as the box center, true by default
 
bool enable (context &ctx)
 enable box renderer
 
template<typename T >
void set_extent (const context &ctx, const T &extent)
 specify a single extent for all boxes
 
template<typename T >
void set_extent_array (const context &ctx, const std::vector< T > &extents)
 extent array specifies box extends in case of position_is_center=true, otherwise the maximum point of each box
 
template<typename T >
void set_extent_array (const context &ctx, const T *extents, size_t nr_elements, unsigned stride_in_bytes=0)
 extent array specifies box extends in case of position_is_center=true, otherwise the maximum point of each box
 
void remove_extent_array (const context &ctx)
 remove the extent attribute
 
template<typename T = float>
void set_radius (const context &ctx, const T &radius)
 
template<typename T = float>
void set_radius_array (const context &ctx, const std::vector< T > &radii)
 
template<typename T = float>
void set_radius_array (const context &ctx, const T *radii, size_t nr_elements, unsigned stride_in_bytes=0)
 
void remove_radius_array (const context &ctx)
 remove the radius attribute
 
template<typename T >
void set_secondary_color (const context &ctx, const T &color)
 templated method to set the secondary color attribute from a single color of type T
 
template<typename T >
void set_secondary_color_array (const context &ctx, const std::vector< T > &colors)
 template method to set the secondary color attribute from a vector of colors of type T
 
template<typename T >
void set_secondary_color_array (const context &ctx, const T *colors, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the secondary color attribute from a vector of colors of type T
 
void set_secondary_color_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 method to set the secondary color attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
template<typename T >
void set_secondary_color_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the secondary color attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
void remove_secondary_color_array (const context &ctx)
 remove the secondary color attribute
 
template<typename T >
void set_box (const context &ctx, const cgv::media::axis_aligned_box< T, 3 > &box)
 specify a single box. This sets position_is_center to false as well as position and extent attributes
 
template<typename T >
void set_box_array (const context &ctx, const std::vector< cgv::media::axis_aligned_box< T, 3 > > &boxes)
 specify box array directly. This sets position_is_center to false as well as position and extent array
 
template<typename T >
void set_box_array (const context &ctx, const cgv::media::axis_aligned_box< T, 3 > *boxes, size_t count)
 specify box array directly. This sets position_is_center to false as well as position and extent array
 
template<typename T >
void set_translation_array (const context &ctx, const std::vector< T > &translations)
 template method to set the translations from a vector of vectors of type T, which should have 3 components
 
template<typename T >
void set_translation_array (const context &ctx, const T *translations, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the translations from a vector of vectors of type T, which should have 3 components
 
void remove_translation_array (const context &ctx)
 remove the translation attribute
 
template<typename T >
void set_rotation_array (const context &ctx, const std::vector< T > &rotations)
 template method to set the rotation from a vector of quaternions of type T, which should have 4 components
 
template<typename T >
void set_rotation_array (const context &ctx, const T *rotations, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the rotation from a vector of quaternions of type T, which should have 4 components
 
void remove_rotation_array (const context &ctx)
 remove the rotation attribute
 
bool disable (context &ctx)
 disable renderer
 
void draw (context &ctx, size_t start, size_t count, bool use_strips=false, bool use_adjacency=false, uint32_t strip_restart_index=-1)
 Draw a range of vertices or indexed elements.
 
- Public Member Functions inherited from cgv::render::surface_renderer
void enable_attribute_array_manager (const context &ctx, attribute_array_manager &aam)
 call this before setting attribute arrays to manage attribute array in given manager
 
void disable_attribute_array_manager (const context &ctx, attribute_array_manager &aam)
 call this after last render/draw call to ensure that no other users of renderer change attribute arrays of given manager
 
bool enable (context &ctx)
 overload to activate group style
 
bool disable (context &ctx)
 disable renderer
 
template<typename T >
void set_normal (const context &ctx, const cgv::math::fvec< T, 3 > &normal)
 specify a single normal for all lines
 
template<typename T >
void set_normal_array (const context &ctx, const std::vector< T > &normals)
 templated method to set the normal attribute array from a vector of normals of type T, which should have 3 components
 
template<typename T >
void set_normal_array (const context &ctx, const T *normals, size_t nr_elements, unsigned stride_in_bytes=0)
 templated method to set the normal attribute from an array of normals of type T, which should have 3 components
 
void set_normal_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 method to set the normal attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
template<typename T >
void set_normal_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the normal attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
void remove_normal_array (const context &ctx)
 remove the normal attribute
 
template<typename T >
void set_texcoord (const context &ctx, const T &texcoord)
 templated method to set the texcoord attribute without array
 
template<typename T >
void set_texcoord_array (const context &ctx, const std::vector< T > &texcoords)
 templated method to set the texcoord attribute array from a vector of texcoords of type T
 
template<typename T >
void set_texcoord_array (const context &ctx, const T *texcoords, size_t nr_elements, unsigned stride_in_bytes=0)
 templated method to set the texcoord attribute from an array of texcoords of type T
 
void set_texcoord_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the texcoord attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
template<typename T >
void set_texcoord_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the texcoord attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
void remove_texcoord_array (const context &ctx)
 remove the texcoord attribute
 
- Public Member Functions inherited from cgv::render::group_renderer
bool validate_attributes (const context &ctx) const
 check additionally the group attributes
 
void set_group_index_array (const context &ctx, const std::vector< unsigned > &group_indices)
 method to set the group index attribute
 
void set_group_index_array (const context &ctx, const unsigned *group_indices, size_t nr_elements)
 method to set the group index attribute
 
void set_group_index_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 method to set the group index attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
template<typename T >
void set_group_index_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the group index color attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
void remove_group_index_array (const context &ctx)
 remove the group index attribute
 
template<typename T >
void set_group_colors (const context &ctx, const std::vector< T > &colors)
 template method to set the group colors from a vector of colors of type T
 
template<typename T >
void set_group_colors (const context &ctx, const T *colors, size_t nr_elements)
 template method to set the group colors from a vector of colors of type T
 
template<typename T >
void set_group_translations (const context &ctx, const std::vector< T > &group_translations)
 template method to set the group translations from a vector of vectors of type T, which should have 3 components
 
template<typename T >
void set_group_translations (const context &ctx, const T *group_translations, size_t nr_elements)
 template method to set the group translations from a vector of vectors of type T, which should have 3 components
 
template<typename T >
void set_group_rotations (const context &ctx, const std::vector< T > &group_rotations)
 template method to set the group rotation from a vector of quaternions of type T, which should have 4 components
 
template<typename T >
void set_group_rotations (const context &ctx, const T *group_rotations, size_t nr_elements)
 template method to set the group rotation from a vector of quaternions of type T, which should have 4 components
 
- Public Member Functions inherited from cgv::render::renderer
shader_define_mapref_defines ()
 access to shader define map to update defines not handled by render style
 
shader_programref_prog ()
 derived renderer classes have access to shader program
 
void set_prog (shader_program &one_shot_prog)
 set external shader program up to next call to disable() or render()
 
void draw_impl (context &ctx, PrimitiveType pt, size_t start, size_t count, bool use_strips=false, bool use_adjacency=false, uint32_t strip_restart_index=-1)
 default implementation of draw method with support for indexed rendering and different primitive types
 
void draw_impl_instanced (context &ctx, PrimitiveType type, size_t start, size_t count, size_t instance_count, bool use_strips=false, bool use_adjacency=false, uint32_t strip_restart_index=-1)
 default implementation of instanced draw method with support for indexed rendering and different primitive types
 
 renderer ()
 construct and init attribute tracking flags
 
virtual ~renderer ()
 destructor deletes default renderer style
 
void manage_singleton (context &ctx, const std::string &renderer_name, int &ref_count, int ref_count_change)
 used by derived classes to manage singletons
 
virtual void set_attribute_array_manager (const context &ctx, attribute_array_manager *_aam_ptr=0)
 this function is deprecated, please use enable_attribute_array_manager() and disable_attribute_manager() instead
 
void set_render_style (const render_style &rs)
 reference given render style
 
bool build_program (context &ctx, shader_program &prog, const render_style &rs)
 build shader program for specific render style
 
virtual bool init (context &ctx)
 call init() once before using renderer
 
template<typename T >
void set_position (const context &ctx, const T &position)
 templated method to set the position attribute from a single position of type T
 
template<typename T >
void set_position_array (const context &ctx, const std::vector< T > &positions)
 templated method to set the position attribute from a vector of positions of type T
 
template<typename T >
void set_position_array (const context &ctx, const T *positions, size_t nr_elements, unsigned stride_in_bytes=0)
 templated method to set the position attribute from a vector of positions of type T
 
void set_position_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes)
 method to set the position attribute from a vertex buffer object
 
template<typename T >
void set_position_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the position attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
void remove_position_array (const context &ctx)
 remove the position attribute
 
template<typename T >
void set_color (const context &ctx, const T &color)
 templated method to set the color attribute from a single color of type T
 
template<typename T >
void set_color_array (const context &ctx, const std::vector< T > &colors)
 template method to set the color attribute from a vector of colors of type T
 
template<typename T >
void set_color_array (const context &ctx, const T *colors, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the color attribute from a vector of colors of type T
 
void set_color_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 method to set the color attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
template<typename T >
void set_color_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0)
 template method to set the color attribute from a vertex buffer object, the element type must be given as explicit template parameter
 
void remove_color_array (const context &ctx)
 remove the color attribute
 
template<typename T >
bool set_indices (const context &ctx, const std::vector< T > &indices, bool keep_on_cpu=false)
 Set the indices for indexed rendering from a vector.
 
template<typename T >
bool set_indices (const context &ctx, const T *indices, size_t nr_indices, bool keep_on_cpu=false)
 Set the indices for indexed rendering from an array given as a pointer.
 
template<typename T >
bool set_indices (const context &ctx, const vertex_buffer &vbo, size_t count)
 Set the indices for indexed rendering from a GPU buffer.
 
bool has_indices () const
 return whether indices have been defined
 
void remove_indices (const context &ctx)
 remove previously set indices
 
const vertex_bufferget_vertex_buffer_ptr (const context &ctx, const attribute_array_manager &aam, const std::string &attr_name)
 
const vertex_bufferget_index_buffer_ptr (const attribute_array_manager &aam)
 
bool validate_and_enable (context &ctx)
 validate attributes and if successful, enable renderer
 
virtual bool render (context &ctx, size_t start, size_t count, bool use_strips=false, bool use_adjacency=false, uint32_t strip_restart_index=-1)
 Convenience function that draws vertex or indexed element with this renderer.
 
virtual void clear (const context &ctx)
 the clear function destructs the shader program
 

Protected Member Functions

render_stylecreate_render_style () const
 overload to allow instantiation of box_renderer
 
bool build_shader_program (context &ctx, shader_program &prog, const shader_define_map &defines)
 build box program
 
void update_defines (shader_define_map &defines)
 overload to update the shader defines based on the current render style; only called if internal shader program is used
 
- Protected Member Functions inherited from cgv::render::renderer
bool has_aam () const
 check for attribute array manager
 
bool has_attribute (const context &ctx, const std::string &name)
 check for attribute
 
const render_styleget_style_ptr () const
 access to render style
 
bool attributes_persist () const
 return whether attributes persist after a call to disable
 
template<typename T >
const T & get_style () const
 access to style
 
int get_prog_attribute_location (const context &ctx, const std::string &name, bool error_check=true)
 
template<typename T >
bool set_attribute_array (const context &ctx, const std::string &name, const T &array)
 
template<typename T >
bool set_attribute_array (const context &ctx, const std::string &name, const T *array_ptr, size_t nr_elements, unsigned stride)
 
bool set_attribute_array (const context &ctx, const std::string &name, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes)
 
template<typename C , typename T >
bool set_composed_attribute_array (const context &ctx, const std::string &name, const C *array_ptr, size_t nr_elements, const T &elem)
 in case that several attributes are stored interleaved, call this function for the first and ref_composed_attribute_array() for all others
 
template<typename C , typename T >
bool ref_composed_attribute_array (const context &ctx, const std::string &name, const std::string &name_ref, const C *array_ptr, size_t nr_elements, const T &elem)
 in case that several attributes are stored interleaved, call set_composed_attribute_array() for the first and this function for all others
 
bool remove_attribute_array (const context &ctx, const std::string &name)
 

Protected Attributes

bool has_extents
 store whether extent array has been specified
 
bool has_radii
 store whether extent array has been specified
 
bool has_secondary_colors
 whether secondary color or color array was set
 
bool has_translations
 whether array with per box translations has been specified
 
bool has_rotations
 whether array with per box rotations has been specified
 
bool position_is_center
 whether position is box center, if not it is lower left bottom corner
 
- Protected Attributes inherited from cgv::render::surface_renderer
bool has_normals
 
bool has_texcoords
 
bool cull_per_primitive
 
- Protected Attributes inherited from cgv::render::group_renderer
bool has_group_indices
 
bool has_group_colors
 
bool has_group_translations
 
bool has_group_rotations
 
- Protected Attributes inherited from cgv::render::renderer
bool has_colors
 track whether color attribute is defined
 
bool has_positions
 track whether position attribute is defined
 

Detailed Description

renderer that supports point splatting

Definition at line 33 of file box_renderer.h.

Constructor & Destructor Documentation

◆ box_renderer()

cgv::render::box_renderer::box_renderer ( )

initializes position_is_center to true

Definition at line 27 of file box_renderer.cxx.

References has_extents, has_radii, has_rotations, has_secondary_colors, has_translations, and position_is_center.

Member Function Documentation

◆ build_shader_program()

bool cgv::render::box_renderer::build_shader_program ( context ctx,
shader_program prog,
const shader_define_map defines 
)
protectedvirtual

build box program

Reimplemented from cgv::render::renderer.

Definition at line 87 of file box_renderer.cxx.

References cgv::render::shader_program::build_program().

◆ create_render_style()

render_style * cgv::render::box_renderer::create_render_style ( ) const
protectedvirtual

overload to allow instantiation of box_renderer

Implements cgv::render::renderer.

Definition at line 22 of file box_renderer.cxx.

◆ disable()

bool cgv::render::box_renderer::disable ( context ctx)
virtual

◆ disable_attribute_array_manager()

void cgv::render::box_renderer::disable_attribute_array_manager ( const context ctx,
attribute_array_manager aam 
)
virtual

call this after last render/draw call to ensure that no other users of renderer change attribute arrays of given manager

Reimplemented from cgv::render::renderer.

Definition at line 52 of file box_renderer.cxx.

References cgv::render::surface_renderer::disable_attribute_array_manager(), has_extents, has_radii, has_rotations, has_secondary_colors, and has_translations.

◆ draw()

void cgv::render::box_renderer::draw ( context ctx,
size_t  start,
size_t  count,
bool  use_strips = false,
bool  use_adjacency = false,
uint32_t  strip_restart_index = -1 
)
virtual

Draw a range of vertices or indexed elements.

Call this function only successful enabeling via validate_and_enable() or enable(). Capsulates glDrawArrays and glDrawElements calls. Overloaded implementations of specific renderers choose the to be used gl primitive type and whether to use an instanced draw call.

See also
render()
Parameters
countnumber of to be drawn vertices/elements
startindex of first to be drawn vertex/element
use_stripswhether to generate primitives in strips (only for line or triangle primitives)
use_adjacencywhether to specify adjacency information (only for line or triangle primitives)
strip_restart_indexextraorindary index used to mark end of strips (only for strip based drawing) Strip based drawing can be combined with the use of adjacency information. Default implementation uses triangle primitives.

Reimplemented from cgv::render::renderer.

Definition at line 124 of file box_renderer.cxx.

References cgv::render::renderer::draw_impl().

Referenced by vr_test::draw().

◆ enable()

◆ enable_attribute_array_manager()

void cgv::render::box_renderer::enable_attribute_array_manager ( const context ctx,
attribute_array_manager aam 
)
virtual

call this before setting attribute arrays to manage attribute array in given manager

Reimplemented from cgv::render::renderer.

Definition at line 37 of file box_renderer.cxx.

References cgv::render::surface_renderer::enable_attribute_array_manager(), cgv::render::renderer::has_attribute(), has_extents, has_radii, has_rotations, has_secondary_colors, and has_translations.

◆ remove_extent_array()

void cgv::render::box_renderer::remove_extent_array ( const context ctx)

remove the extent attribute

Definition at line 61 of file box_renderer.cxx.

References has_extents.

◆ remove_radius_array()

void cgv::render::box_renderer::remove_radius_array ( const context ctx)

remove the radius attribute

Definition at line 65 of file box_renderer.cxx.

References has_radii.

◆ remove_rotation_array()

void cgv::render::box_renderer::remove_rotation_array ( const context ctx)

remove the rotation attribute

Definition at line 77 of file box_renderer.cxx.

References has_rotations.

◆ remove_secondary_color_array()

void cgv::render::box_renderer::remove_secondary_color_array ( const context ctx)

remove the secondary color attribute

Definition at line 69 of file box_renderer.cxx.

References has_secondary_colors.

◆ remove_translation_array()

void cgv::render::box_renderer::remove_translation_array ( const context ctx)

remove the translation attribute

Definition at line 73 of file box_renderer.cxx.

References has_translations.

◆ set_box()

template<typename T >
void cgv::render::box_renderer::set_box ( const context ctx,
const cgv::media::axis_aligned_box< T, 3 > &  box 
)
inline

specify a single box. This sets position_is_center to false as well as position and extent attributes

Definition at line 105 of file box_renderer.h.

References cgv::media::axis_aligned_box< T, N >::get_max_pnt(), and cgv::media::axis_aligned_box< T, N >::get_min_pnt().

◆ set_box_array() [1/2]

template<typename T >
void cgv::render::box_renderer::set_box_array ( const context ctx,
const cgv::media::axis_aligned_box< T, 3 > *  boxes,
size_t  count 
)
inline

specify box array directly. This sets position_is_center to false as well as position and extent array

Definition at line 121 of file box_renderer.h.

◆ set_box_array() [2/2]

template<typename T >
void cgv::render::box_renderer::set_box_array ( const context ctx,
const std::vector< cgv::media::axis_aligned_box< T, 3 > > &  boxes 
)
inline

specify box array directly. This sets position_is_center to false as well as position and extent array

Definition at line 112 of file box_renderer.h.

Referenced by vr_test::draw().

◆ set_extent()

template<typename T >
void cgv::render::box_renderer::set_extent ( const context ctx,
const T &  extent 
)
inline

specify a single extent for all boxes

Definition at line 67 of file box_renderer.h.

◆ set_extent_array() [1/2]

template<typename T >
void cgv::render::box_renderer::set_extent_array ( const context ctx,
const std::vector< T > &  extents 
)
inline

extent array specifies box extends in case of position_is_center=true, otherwise the maximum point of each box

Definition at line 70 of file box_renderer.h.

◆ set_extent_array() [2/2]

template<typename T >
void cgv::render::box_renderer::set_extent_array ( const context ctx,
const T *  extents,
size_t  nr_elements,
unsigned  stride_in_bytes = 0 
)
inline

extent array specifies box extends in case of position_is_center=true, otherwise the maximum point of each box

Definition at line 73 of file box_renderer.h.

◆ set_position_is_center()

void cgv::render::box_renderer::set_position_is_center ( bool  _position_is_center)

set the flag, whether the position is interpreted as the box center, true by default

set the flag, whether the position is interpreted as the box center

Definition at line 82 of file box_renderer.cxx.

References position_is_center.

◆ set_radius()

template<typename T = float>
void cgv::render::box_renderer::set_radius ( const context ctx,
const T &  radius 
)
inline

Definition at line 78 of file box_renderer.h.

◆ set_radius_array() [1/2]

template<typename T = float>
void cgv::render::box_renderer::set_radius_array ( const context ctx,
const std::vector< T > &  radii 
)
inline

Definition at line 81 of file box_renderer.h.

◆ set_radius_array() [2/2]

template<typename T = float>
void cgv::render::box_renderer::set_radius_array ( const context ctx,
const T *  radii,
size_t  nr_elements,
unsigned  stride_in_bytes = 0 
)
inline

Definition at line 84 of file box_renderer.h.

◆ set_rotation_array() [1/2]

template<typename T >
void cgv::render::box_renderer::set_rotation_array ( const context ctx,
const std::vector< T > &  rotations 
)
inline

template method to set the rotation from a vector of quaternions of type T, which should have 4 components

Definition at line 138 of file box_renderer.h.

Referenced by vr_test::draw().

◆ set_rotation_array() [2/2]

template<typename T >
void cgv::render::box_renderer::set_rotation_array ( const context ctx,
const T *  rotations,
size_t  nr_elements,
unsigned  stride_in_bytes = 0 
)
inline

template method to set the rotation from a vector of quaternions of type T, which should have 4 components

Definition at line 141 of file box_renderer.h.

◆ set_secondary_color()

template<typename T >
void cgv::render::box_renderer::set_secondary_color ( const context ctx,
const T &  color 
)
inline

templated method to set the secondary color attribute from a single color of type T

Definition at line 89 of file box_renderer.h.

◆ set_secondary_color_array() [1/3]

template<typename T >
void cgv::render::box_renderer::set_secondary_color_array ( const context ctx,
const std::vector< T > &  colors 
)
inline

template method to set the secondary color attribute from a vector of colors of type T

Definition at line 92 of file box_renderer.h.

◆ set_secondary_color_array() [2/3]

template<typename T >
void cgv::render::box_renderer::set_secondary_color_array ( const context ctx,
const T *  colors,
size_t  nr_elements,
unsigned  stride_in_bytes = 0 
)
inline

template method to set the secondary color attribute from a vector of colors of type T

Definition at line 95 of file box_renderer.h.

◆ set_secondary_color_array() [3/3]

template<typename T >
void cgv::render::box_renderer::set_secondary_color_array ( const context ctx,
const vertex_buffer vbo,
size_t  offset_in_bytes,
size_t  nr_elements,
unsigned  stride_in_bytes = 0 
)
inline

template method to set the secondary color attribute from a vertex buffer object, the element type must be given as explicit template parameter

Definition at line 100 of file box_renderer.h.

References set_secondary_color_array().

Referenced by set_secondary_color_array().

◆ set_translation_array() [1/2]

template<typename T >
void cgv::render::box_renderer::set_translation_array ( const context ctx,
const std::vector< T > &  translations 
)
inline

template method to set the translations from a vector of vectors of type T, which should have 3 components

Definition at line 130 of file box_renderer.h.

Referenced by vr_test::draw().

◆ set_translation_array() [2/2]

template<typename T >
void cgv::render::box_renderer::set_translation_array ( const context ctx,
const T *  translations,
size_t  nr_elements,
unsigned  stride_in_bytes = 0 
)
inline

template method to set the translations from a vector of vectors of type T, which should have 3 components

Definition at line 133 of file box_renderer.h.

◆ update_defines()

void cgv::render::box_renderer::update_defines ( shader_define_map defines)
protectedvirtual

overload to update the shader defines based on the current render style; only called if internal shader program is used

Reimplemented from cgv::render::renderer.

Definition at line 138 of file box_renderer.cxx.

References cgv::render::box_render_style::rounding.

Member Data Documentation

◆ has_extents

bool cgv::render::box_renderer::has_extents
protected

store whether extent array has been specified

Definition at line 37 of file box_renderer.h.

Referenced by box_renderer(), disable(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), and remove_extent_array().

◆ has_radii

bool cgv::render::box_renderer::has_radii
protected

store whether extent array has been specified

Definition at line 39 of file box_renderer.h.

Referenced by box_renderer(), disable(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), and remove_radius_array().

◆ has_rotations

bool cgv::render::box_renderer::has_rotations
protected

whether array with per box rotations has been specified

Definition at line 45 of file box_renderer.h.

Referenced by box_renderer(), disable(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), and remove_rotation_array().

◆ has_secondary_colors

bool cgv::render::box_renderer::has_secondary_colors
protected

whether secondary color or color array was set

Definition at line 41 of file box_renderer.h.

Referenced by box_renderer(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), and remove_secondary_color_array().

◆ has_translations

bool cgv::render::box_renderer::has_translations
protected

whether array with per box translations has been specified

Definition at line 43 of file box_renderer.h.

Referenced by box_renderer(), disable(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), and remove_translation_array().

◆ position_is_center

bool cgv::render::box_renderer::position_is_center
protected

whether position is box center, if not it is lower left bottom corner

Definition at line 47 of file box_renderer.h.

Referenced by box_renderer(), disable(), enable(), and set_position_is_center().


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