|
typedef cgv::media::color< float, cgv::media::RGB > | rgb |
| declare rgb color type
|
|
typedef cgv::media::color< float, cgv::media::RGB, cgv::media::OPACITY > | rgba |
| declare rgba color type
|
|
typedef cgv::media::color< cgv::type::uint8_type, cgv::media::RGB > | rgb8 |
| declare rgb color type
|
|
typedef cgv::media::color< cgv::type::uint8_type, cgv::media::RGB, cgv::media::OPACITY > | rgba8 |
| declare rgba color type
|
|
typedef cgv::math::fvec< float, 2 > | vec2 |
| declare type of 2d vectors
|
|
typedef cgv::math::fvec< float, 3 > | vec3 |
| declare type of 3d vectors
|
|
typedef cgv::math::fvec< float, 4 > | vec4 |
| declare type of homogeneous vectors
|
|
typedef cgv::math::vec< float > | vecn |
| declare type of vector with varying dimension
|
|
typedef cgv::math::fmat< float, 2, 2 > | mat2 |
| declare type of 2x2 matrices
|
|
typedef cgv::math::fmat< float, 3, 3 > | mat3 |
| declare type of 3x3 matrices
|
|
typedef cgv::math::fmat< float, 4, 4 > | mat4 |
| declare type of 4x4 matrices
|
|
typedef cgv::math::fmat< float, 3, 4 > | mat34 |
| declare type of 3x4 matrices which are often used to store a pose
|
|
typedef cgv::math::mat< float > | matn |
| declare type of matrices of varying dimensions
|
|
typedef cgv::math::fvec< double, 2 > | dvec2 |
| declare type of 2d vectors
|
|
typedef cgv::math::fvec< double, 3 > | dvec3 |
| declare type of 3d vectors
|
|
typedef cgv::math::fvec< double, 4 > | dvec4 |
| declare type of homogeneous vectors
|
|
typedef cgv::math::vec< double > | dvecn |
| declare type of vector with varying dimension
|
|
typedef cgv::math::fmat< double, 2, 2 > | dmat2 |
| declare type of 2x2 matrices
|
|
typedef cgv::math::fmat< double, 3, 3 > | dmat3 |
| declare type of 3x3 matrices
|
|
typedef cgv::math::fmat< double, 4, 4 > | dmat4 |
| declare type of 4x4 matrices
|
|
typedef cgv::math::fmat< double, 3, 4 > | dmat34 |
| declare type of 3x4 matrices which are often used to store a pose
|
|
typedef cgv::math::mat< double > | dmatn |
| declare type of matrices of varying dimensions
|
|
typedef cgv::media::axis_aligned_box< float, 2 > | box2 |
| declare type of 2d boxes
|
|
typedef cgv::media::axis_aligned_box< float, 3 > | box3 |
| declare type of 3d boxes
|
|
typedef cgv::media::axis_aligned_box< float, 4 > | box4 |
| declare type of 4d boxes
|
|
typedef cgv::media::axis_aligned_box< double, 2 > | dbox2 |
| declare type of 2d boxes
|
|
typedef cgv::media::axis_aligned_box< double, 3 > | dbox3 |
| declare type of 3d boxes
|
|
typedef cgv::media::axis_aligned_box< double, 4 > | dbox4 |
| declare type of 4d boxes
|
|
typedef cgv::math::quaternion< float > | quat |
| declare type of quaternion
|
|
typedef cgv::math::quaternion< double > | dquat |
| declare type of double quaternion
|
|
typedef cgv::math::fvec< int32_t, 2 > | ivec2 |
| declare type of 2d integer vectors
|
|
typedef cgv::math::fvec< int32_t, 3 > | ivec3 |
| declare type of 3d integer vectors
|
|
typedef cgv::math::fvec< int32_t, 4 > | ivec4 |
| declare type of 4d integer vectors
|
|
typedef cgv::math::fvec< uint32_t, 2 > | uvec2 |
| declare type of 2d unsigned integer vectors
|
|
typedef cgv::math::fvec< uint32_t, 3 > | uvec3 |
| declare type of 3d unsigned integer vectors
|
|
typedef cgv::math::fvec< uint32_t, 4 > | uvec4 |
| declare type of 4d unsigned integer vectors
|
|
|
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 | init (context &ctx) |
| abstract initialize method creates default render style, derived renderers to load the shader program
|
|
void | set_position_is_center (bool _position_is_center) |
| set the flag, whether the position is interpreted as the box center, true by default More...
|
|
template<typename T > |
void | set_extent (const context &ctx, const cgv::math::fvec< T, 2U > &extent) |
| specify a single extent for all boxes
|
|
template<typename T > |
void | set_extent_array (const context &ctx, const std::vector< cgv::math::fvec< T, 2U >> &extents) |
| extent array specifies plane side lengths from origin to edge
|
|
template<typename T > |
void | set_extent_array (const context &ctx, const cgv::math::fvec< T, 2U > *extents, size_t nr_elements, unsigned stride_in_bytes=0) |
| extent array specifies plane side lengths from origin to edge
|
|
template<typename T > |
void | set_rectangle (const context &ctx, const cgv::media::axis_aligned_box< T, 2 > &box) |
| specify a single rectangle without array. This sets position_is_center to false as well as position and extent array
|
|
template<typename T > |
void | set_rectangle_array (const context &ctx, const std::vector< cgv::media::axis_aligned_box< T, 2 > > &boxes) |
| specify rectangle array directly. This sets position_is_center to false as well as position and extent array
|
|
template<typename T > |
void | set_rectangle_array (const context &ctx, const cgv::media::axis_aligned_box< T, 2 > *boxes, size_t count) |
| specify ractangle array directly. This sets position_is_center to false as well as position and extent array
|
|
void | set_textured_rectangle (const context &ctx, const textured_rectangle &tcr) |
| specify rectangle without array. This sets position_is_center to false as well as position and extent array
|
|
void | set_textured_rectangle_array (const context &ctx, const std::vector< textured_rectangle > &tc_rects) |
| specify rectangle array directly. This sets position_is_center to false as well as position and extent array
|
|
void | set_textured_rectangle_array (const context &ctx, const textured_rectangle *tc_rects, size_t count) |
| specify ractangle array directly. This sets position_is_center to false as well as position and extent array
|
|
template<typename T > |
void | set_depth_offset (const context &ctx, const T &depth_offset) |
| specify a single depth_offset for all lines
|
|
template<typename T = float> |
void | set_depth_offset_array (const context &ctx, const std::vector< T > &depth_offsets) |
| set per rectangle depth offsets
|
|
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) |
| template method to set the translations from a vector of vectors of type T, which should have 3 components
|
|
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=0) |
| template method to set the rotation from a vector of quaternions of type T, which should have 4 components
|
|
bool | validate_attributes (const context &ctx) const |
| check additionally the group attributes
|
|
bool | enable (context &ctx) |
| overload to activate group style
|
|
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) |
| convenience function to render with default settings
|
|
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
|
|
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 | 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 More...
|
|
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
|
|
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
|
|
shader_program & | ref_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 the disable() function, which is also called by the render() function More...
|
|
void | manage_singleton (context &ctx, const std::string &renderer_name, int &ref_count, int ref_count_change) |
| used by derived classes to manage singeltons
|
|
| DEPRECATED ("deprecated, use enable_attribute_array_manager() paired with disable_attribute_manager instead().") virtual void set_attribute_array_manager(const context &ctx |
| 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
|
|
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
|
|
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
|
|
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. If an attribute array manager is enabled and keep_on_cpu is false (default), create GPU index buffer and transfer indices into it. More...
|
|
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. If an attribute array manager is enabled and keep_on_cpu is false (default), create GPU index buffer and transfer indices into it. More...
|
|
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. If an attribute array manager is enabled its index buffer is removed through this call. More...
|
|
bool | has_indices () const |
| return whether indices have been defined
|
|
void | remove_indices (const context &ctx) |
| remove previously set indices
|
|
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. More...
|
|
virtual void | clear (const context &ctx) |
| the clear function destructs the shader program
|
|