Public Types | Public Member Functions | Protected Attributes

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

#include <volume_rendering_tile_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 std::list< tile_typetile_container
typedef tile_container::iterator tile_iterator
typedef volume_shader_class_
< math_types
volume_shader_type

Public Member Functions

 TileRender ()
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.
volume_shader_type m_shader
 The shader.
tile_container m_tiles
 The texture tiles.
gl::Frustum< math_typesm_frustum
 Used for frustum culling of texture tiles.
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::TileRender< math_types, volume_shader_class_ >

Tile based View Aligned Slabbing. This class implements a volume render, capable of visualizing a 3D texture using view aligned volume slabbing and texture tiling.


Member Typedef Documentation

template<typename math_types , template< typename > class volume_shader_class_>
typedef math_types::real_type OpenTissue::volume_rendering::TileRender< math_types, volume_shader_class_ >::real_type
template<typename math_types , template< typename > class volume_shader_class_>
typedef std::list<tile_type> OpenTissue::volume_rendering::TileRender< math_types, volume_shader_class_ >::tile_container
template<typename math_types , template< typename > class volume_shader_class_>
typedef tile_container::iterator OpenTissue::volume_rendering::TileRender< math_types, volume_shader_class_ >::tile_iterator
template<typename math_types , template< typename > class volume_shader_class_>
typedef Texture3DTile<math_types> OpenTissue::volume_rendering::TileRender< 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::TileRender< 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::TileRender< math_types, volume_shader_class_ >::volume_shader_type

Constructor & Destructor Documentation

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

Member Function Documentation

template<typename math_types , template< typename > class volume_shader_class_>
template<typename texture2d_pointer >
void OpenTissue::volume_rendering::TileRender< 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::TileRender< 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_>
gl::Frustum<math_types> OpenTissue::volume_rendering::TileRender< math_types, volume_shader_class_ >::m_frustum [protected]

Used for frustum culling of texture tiles.

template<typename math_types , template< typename > class volume_shader_class_>
real_type OpenTissue::volume_rendering::TileRender< 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::TileRender< 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::TileRender< 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::TileRender< 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::TileRender< 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::TileRender< 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::TileRender< math_types, volume_shader_class_ >::m_shader [protected]

The shader.

template<typename math_types , template< typename > class volume_shader_class_>
tile_container OpenTissue::volume_rendering::TileRender< math_types, volume_shader_class_ >::m_tiles [protected]

The texture tiles.

template<typename math_types , template< typename > class volume_shader_class_>
vector3_type OpenTissue::volume_rendering::TileRender< 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: