cgv
Loading...
Searching...
No Matches
cgv::render::volume_render_style Struct Reference

style of a volume More...

#include <volume_renderer.h>

Inheritance diagram for cgv::render::volume_render_style:
cgv::render::render_style

Public Attributes

VolumeIntegrationQuality integration_quality = VolumeIntegrationQuality::k128
 quality measure for the number of steps used during ray marching
 
bool enable_noise_offset = true
 whether to use the noise texture to offset ray start positions in order to reduce sampling artifacts
 
VolumeInterpolationMode interpolation_mode = VolumeInterpolationMode::kLinear
 the interpolation method used (supplied volume texture should be set to GL_LINEAR)
 
bool enable_depth_test = true
 whether to enable depth testing by reading depth from a texture to allow geometry intersecting the volume (depth texture must be supplied)
 
float picking_opacity_threshold = 0.03f
 
VolumeCompositingMode compositing_mode = VolumeCompositingMode::kBlend
 the compositing mode used
 
float scale_adjustment_factor = 100.0f
 the coefficient used to adjust sample opacity based on volume scaling (useful range between 50 and 500)
 
bool enable_lighting = false
 whether to enable lighting
 
bool light_local_to_eye = true
 whether the light is local to the eye position (moves with the eye) or is static to the scene
 
bool use_gradient_texture = false
 whether to use a supplied gradient texture or compute gradients on the fly via central differences (default)
 
vec3 light_direction = normalize(cgv::vec3(-1.0f, 1.0f, 1.0f))
 the direction of the directional light
 
float ambient_strength = 0.3f
 light ambient component strength
 
float diffuse_strength = 0.8f
 material diffuse component strength
 
float specular_strength = 0.4f
 material specular component strength
 
float roughness = 0.3f
 material roughness (inversely proportional to specular shininess)
 
float specular_color_mix = 0.0f
 material specular color mix factor (0 = color from transfer function, 1 = pure white)
 
bool enable_gradient_modulation = false
 whether to enable modulating the volume opacity by the gradient magnitude
 
float gradient_lambda = 0.0f
 influence scale for gradient-based opacity modulation
 
VolumeIsosurfaceMode isosurface_mode = VolumeIsosurfaceMode::kNone
 mode of a single supported isosurface
 
float isovalue = 0.5f
 the value used to check for an isosurface
 
rgb isosurface_color = { 0.7f }
 the default constant isosurface color
 
bool isosurface_color_from_transfer_function = false
 whether to color the isosurface based on the transfer function
 
VolumeSliceMode slice_mode = VolumeSliceMode::kNone
 mode of slice rendering
 
int slice_axis = 2
 coordinate axis orthogonal to which slice is rendered
 
float slice_coordinate = 0.5f
 coordinate value along axis defining slice in range [0,1]
 
float slice_opacity = 0.5f
 in case of transparent mode, slice opacity
 
box3 clip_box = { vec3{0.0f}, vec3{1.0f} }
 a bounding box used to define a subspace of the volume to be visualized
 

Detailed Description

style of a volume

Definition at line 57 of file volume_renderer.h.

Member Data Documentation

◆ ambient_strength

float cgv::render::volume_render_style::ambient_strength = 0.3f

light ambient component strength

Definition at line 84 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ clip_box

box3 cgv::render::volume_render_style::clip_box = { vec3{0.0f}, vec3{1.0f} }

a bounding box used to define a subspace of the volume to be visualized

Definition at line 118 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), cgv::render::volume_renderer::draw(), and cgv::render::volume_renderer::enable().

◆ compositing_mode

VolumeCompositingMode cgv::render::volume_render_style::compositing_mode = VolumeCompositingMode::kBlend

◆ diffuse_strength

float cgv::render::volume_render_style::diffuse_strength = 0.8f

material diffuse component strength

Definition at line 86 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ enable_depth_test

bool cgv::render::volume_render_style::enable_depth_test = true

whether to enable depth testing by reading depth from a texture to allow geometry intersecting the volume (depth texture must be supplied)

Definition at line 65 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::update_shader_program_options().

◆ enable_gradient_modulation

bool cgv::render::volume_render_style::enable_gradient_modulation = false

whether to enable modulating the volume opacity by the gradient magnitude

Definition at line 95 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::update_shader_program_options().

◆ enable_lighting

bool cgv::render::volume_render_style::enable_lighting = false

◆ enable_noise_offset

bool cgv::render::volume_render_style::enable_noise_offset = true

whether to use the noise texture to offset ray start positions in order to reduce sampling artifacts

Definition at line 61 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::update_shader_program_options().

◆ gradient_lambda

float cgv::render::volume_render_style::gradient_lambda = 0.0f

influence scale for gradient-based opacity modulation

Definition at line 97 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ integration_quality

VolumeIntegrationQuality cgv::render::volume_render_style::integration_quality = VolumeIntegrationQuality::k128

quality measure for the number of steps used during ray marching

Definition at line 59 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::update_shader_program_options().

◆ interpolation_mode

VolumeInterpolationMode cgv::render::volume_render_style::interpolation_mode = VolumeInterpolationMode::kLinear

the interpolation method used (supplied volume texture should be set to GL_LINEAR)

Definition at line 63 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::update_shader_program_options().

◆ isosurface_color

rgb cgv::render::volume_render_style::isosurface_color = { 0.7f }

the default constant isosurface color

Definition at line 104 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ isosurface_color_from_transfer_function

bool cgv::render::volume_render_style::isosurface_color_from_transfer_function = false

whether to color the isosurface based on the transfer function

Definition at line 106 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::update_shader_program_options().

◆ isosurface_mode

VolumeIsosurfaceMode cgv::render::volume_render_style::isosurface_mode = VolumeIsosurfaceMode::kNone

mode of a single supported isosurface

Definition at line 100 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::update_shader_program_options().

◆ isovalue

float cgv::render::volume_render_style::isovalue = 0.5f

the value used to check for an isosurface

Definition at line 102 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ light_direction

vec3 cgv::render::volume_render_style::light_direction = normalize(cgv::vec3(-1.0f, 1.0f, 1.0f))

the direction of the directional light

Definition at line 82 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ light_local_to_eye

bool cgv::render::volume_render_style::light_local_to_eye = true

whether the light is local to the eye position (moves with the eye) or is static to the scene

Definition at line 78 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ picking_opacity_threshold

float cgv::render::volume_render_style::picking_opacity_threshold = 0.03f

Definition at line 67 of file volume_renderer.h.

◆ roughness

float cgv::render::volume_render_style::roughness = 0.3f

material roughness (inversely proportional to specular shininess)

Definition at line 90 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ scale_adjustment_factor

float cgv::render::volume_render_style::scale_adjustment_factor = 100.0f

the coefficient used to adjust sample opacity based on volume scaling (useful range between 50 and 500)

Definition at line 73 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ slice_axis

int cgv::render::volume_render_style::slice_axis = 2

coordinate axis orthogonal to which slice is rendered

Definition at line 111 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ slice_coordinate

float cgv::render::volume_render_style::slice_coordinate = 0.5f

coordinate value along axis defining slice in range [0,1]

Definition at line 113 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ slice_mode

VolumeSliceMode cgv::render::volume_render_style::slice_mode = VolumeSliceMode::kNone

◆ slice_opacity

float cgv::render::volume_render_style::slice_opacity = 0.5f

in case of transparent mode, slice opacity

Definition at line 115 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ specular_color_mix

float cgv::render::volume_render_style::specular_color_mix = 0.0f

material specular color mix factor (0 = color from transfer function, 1 = pure white)

Definition at line 92 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ specular_strength

float cgv::render::volume_render_style::specular_strength = 0.4f

material specular component strength

Definition at line 88 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::enable().

◆ use_gradient_texture

bool cgv::render::volume_render_style::use_gradient_texture = false

whether to use a supplied gradient texture or compute gradients on the fly via central differences (default)

Definition at line 80 of file volume_renderer.h.

Referenced by cgv::gui::volume_render_style_gui_creator::create(), and cgv::render::volume_renderer::update_shader_program_options().


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