Public Types | Public Member Functions | Protected Attributes

OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ > Class Template Reference

#include <volume_rendering_render.h>

List of all members.

Public Types

typedef math_types::real_type real_type
typedef math_types::vector3_type vector3_type
typedef Texture3DTile< math_typestile_type
typedef volume_shader_class_
< math_types
volume_shader_type

Public Member Functions

 Render ()
template<typename grid_type >
void init (grid_type &volume)
template<typename texture2d_pointer >
void display (texture2d_pointer color_table_texture)

Protected Attributes

real_type m_image_min_x
 The minimum x-coordinate of AABB enclosing all voxel data. Used for settting up texture tiles.
real_type m_image_min_y
 The minimum y-coordinate of AABB enclosing all voxel data. Used for settting up texture tiles.
real_type m_image_min_z
 The minimum z-coordinate of AABB enclosing all voxel data. Used for settting up texture tiles.
real_type m_image_width
 The width of the AABB enclosing all the voxel data. Used for settting up texture tiles.
real_type m_image_height
 The height of the AABB enclosing all the voxel data. Used for settting up texture tiles.
real_type m_image_depth
 The depth of the AABB enclosing all the voxel data. Used for settting up texture tiles.
tile_type m_tile
 The texture tile.
volume_shader_type m_shader
 The shader.
vector3_type m_vertices [8]
 Model space vertices of the AABBB enclosing all the voxel data.

Detailed Description

template<typename math_types, template< typename > class volume_shader_class_>
class OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >

Volume Render. This render class creates one big texture tile, enclosing the volume. Thus if the volume is non-power of two the smallest enclosing power of two cubic texture is computed and the volume is loaded into a sub-region of this texture.


Member Typedef Documentation

template<typename math_types , template< typename > class volume_shader_class_>
typedef math_types::real_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::real_type
template<typename math_types , template< typename > class volume_shader_class_>
typedef Texture3DTile<math_types> OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::tile_type
template<typename math_types , template< typename > class volume_shader_class_>
typedef math_types::vector3_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::vector3_type
template<typename math_types , template< typename > class volume_shader_class_>
typedef volume_shader_class_<math_types> OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::volume_shader_type

Constructor & Destructor Documentation

template<typename math_types , template< typename > class volume_shader_class_>
OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::Render (  )  [inline]

Member Function Documentation

template<typename math_types , template< typename > class volume_shader_class_>
template<typename texture2d_pointer >
void OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::display ( texture2d_pointer  color_table_texture  )  [inline]

Display the Volume.

Parameters:
color_table_texture The color table that should be used for displaying the volume.
template<typename math_types , template< typename > class volume_shader_class_>
template<typename grid_type >
void OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::init ( grid_type volume  )  [inline]

Initialization. Should be invoked before attempting to visualize the volume. If volume changes over time, there is no need to re-invoke the method, just simply update the corresponding volume texture.

Parameters:
volume The volume (voxel data) that should be visualized.

Member Data Documentation

template<typename math_types , template< typename > class volume_shader_class_>
real_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::m_image_depth [protected]

The depth of the AABB enclosing all the voxel data. Used for settting up texture tiles.

template<typename math_types , template< typename > class volume_shader_class_>
real_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::m_image_height [protected]

The height of the AABB enclosing all the voxel data. Used for settting up texture tiles.

template<typename math_types , template< typename > class volume_shader_class_>
real_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::m_image_min_x [protected]

The minimum x-coordinate of AABB enclosing all voxel data. Used for settting up texture tiles.

template<typename math_types , template< typename > class volume_shader_class_>
real_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::m_image_min_y [protected]

The minimum y-coordinate of AABB enclosing all voxel data. Used for settting up texture tiles.

template<typename math_types , template< typename > class volume_shader_class_>
real_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::m_image_min_z [protected]

The minimum z-coordinate of AABB enclosing all voxel data. Used for settting up texture tiles.

template<typename math_types , template< typename > class volume_shader_class_>
real_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::m_image_width [protected]

The width of the AABB enclosing all the voxel data. Used for settting up texture tiles.

template<typename math_types , template< typename > class volume_shader_class_>
volume_shader_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::m_shader [protected]

The shader.

template<typename math_types , template< typename > class volume_shader_class_>
tile_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::m_tile [protected]

The texture tile.

template<typename math_types , template< typename > class volume_shader_class_>
vector3_type OpenTissue::volume_rendering::Render< math_types, volume_shader_class_ >::m_vertices[8] [protected]

Model space vertices of the AABBB enclosing all the voxel data.


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