cgv
cgv::render::slab_render_style Struct Reference

#include <slab_renderer.h>

Inheritance diagram for cgv::render::slab_render_style:
cgv::render::group_render_style cgv::render::render_style

Public Types

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
 

Public Member Functions

 slab_render_style ()
 construct with default values
 

Public Attributes

float thickness_scale
 multiplied to the thickness, initialized to 1
 
int tex_unit
 unit used to access the slab texture values, initialized to 0, must point to a 2d texture array
 
int tf_tex_unit
 unit used to access the volume transfer function texture, initialized to 1, must be a 1d texture
 
bool use_transfer_function
 whether to use a transfer function or interpret the luminance as alpha, initialized to false
 
int tex_idx_offset
 used to offset the texture index of each slab when specified
 
int tex_idx_stride
 multiplied to the texture index of each slab
 
float step_size
 constant step size for volume ray integration over all slabs
 
float opacity
 multiplied to the input opacity value during rendering to change the overall opacity of the slabs
 
float falloff_mix
 overall influence of the falloff
 
float falloff_strength
 strength of the opacity falloff in the slabs normal direction
 
float scale
 compensates for the overall slab scale
 
bool use_group_color
 whether to use group colors indexed through group index, defaults to false
 
bool use_group_transformation
 whether to use group translation and rotation indexed through group index, defaults to false
 

Detailed Description

Style to control the look of slabs. The slab renderer uses texture arrays for rendering. A texture index can be specified for each slab, which is used to access the texture array. Ech slab texture must therefore have the same resolution. For animated slabs store the timesteps for each slab in a non-interleaved fashion in the texture array. Set the tex_idx_stride to the number of animation frames. The tex_idx_offset can be used to select the rendered time step.


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