Hardware-Assisted Visibility Sorting

Usage

Example Linux:

./havs -if data/spx.off -cf data/spx.col -of data/spx.op

Example Windows:

Release\whavs.exe -if ..\data\spx.off -cf ..\data\spx.col -of ..\data\spx.op

Rendering with pipeline optimization enabled and no LOD (for direct comparison with other volume renderers):

./havs -if data/spx.off -cf data/spx.col -of data/spx.op -none -p

Command Line Options:

./havs -options

Option Description
-if <mesh> OFF mesh to load (required)
-cf <colormap> Colormap file to load
-of <opacitymap> Opacitymap to load
-bg <float> <float> <float> RGB background color
-sx <float> Screen width
-sy <float> Screen height
-el <float> Camera elevation
-az <float> Camera azimuth
-k <int> K-Buffer size
-p Pipelining optimization on
-nvbo Disable VBO rendering
-none No level-of-detail
-field Field level-of-detail
-area Area level-of-detail

Runtime Keys:

Key Description
ESC Exits the program
's' Saves the current frame to "image.ppm"
'l' Toggle the current level-of-detail method

File Formats:

OFF - The OFF file format that is used in this project is a simple ASCII tetrahedral format with one scalar per vertex and a list of cells indexed from 0.

NUM_VERTICES NUM_CELLS
vertex1_x vertex1_y vertex1_z vertex1_s
vertex2_x vertex2_y vertex2_z vertex2_s
...
vertexn_x vertexn_y vertexn_z vertexn_s
cell1_id1 cell1_id2 cell1_id3 cell1_id4
cell2_id1 cell2_id2 cell2_id3 cell2_id4
...
cellm_id1 cellm_id2 cellm_id3 cellm_id4

COL - The COL format is a simple ASCII file used to specify the color portion of the transfer function as RGB values [0,1].

COLORMAP
scalar_0 r_0 g_0 b_0
...
scalar_n r_n g_n b_n

OP - The OP format is a simple ASCII file used to specify the opacity portion of the transfer function as alpha values [0,1].

DENSITYMAP
scalar_0 a_0
...
scalar_n a_n

Example files are provided in the data directory for testing purposes. The SuperPheonix (spx) dataset was created by Bruno Notrosso (Electricite de France).