3 #include "surface_renderer.h"
5 #include "gl/lib_begin.h"
18 class CGV_API volume_renderer;
24 extern CGV_API volume_renderer&
ref_volume_renderer(context& ctx,
int ref_count_change = 0);
30 int transfer_function_texture_unit;
69 bool set_volume_texture(
texture* _volume_texture);
71 void set_eye_position(
vec3 _eye_position);
73 std::string build_define_string();
75 bool build_shader(
context& ctx, std::string defines =
"");
79 bool validate_attributes(
const context& ctx)
const;
83 void draw(
context& ctx,
size_t start,
size_t count,
84 bool use_strips =
false,
bool use_adjacency =
false, uint32_t strip_restart_index = -1);
89 #include <cgv/config/lib_end.h>
base class for all render styles
Definition: renderer.h:16
InterpolationMode interpolation_mode
the interpolation method used
Definition: volume_renderer.h:42
float step_size
length of one step for the ray casting
Definition: volume_renderer.h:37
volume_renderer & ref_volume_renderer(context &ctx, int ref_count_change)
reference to a singleton volume renderer that is shared among drawables
Definition: volume_renderer.cxx:7
vec3 volume_texture_size
the size of the volume texture
Definition: volume_renderer.h:56
abstract base class for all renderers that handles a shader program and position / color attribute
Definition: renderer.h:177
texture * volume_texture
the 3D texture used for rendering
Definition: volume_renderer.h:54
attribute array manager used to upload arrays to gpu
Definition: renderer.h:21
Definition: volume_renderer.h:27
renderer that supports point splatting
Definition: volume_renderer.h:49
mat4 transformation_matrix
transformation matrix for the volume; original volume renders from (0,0,0) to (1,1,...
Definition: volume_renderer.h:39
InterpolationMode
volume texture can have different interpolation methods
Definition: volume_renderer.h:11
float level_of_detail
level of detail for mipmap textures
Definition: volume_renderer.h:35
float alpha
transparency scaling parameter
Definition: volume_renderer.h:33
the cgv namespace
Definition: vr_calib.cxx:9
vec3 eye_position
the eye position in world space
Definition: volume_renderer.h:58
Definition: context.h:525
std::string shader_defines
whether the shader should be rebuilt after a define update
Definition: volume_renderer.h:60