/vfray

Automatically exported from code.google.com/p/vfray

Primary LanguageCGNU General Public License v3.0GPL-3.0

*************************************************************************
**                                                                     **
**               VF-Ray - Visible-Faces Driven Ray Casting             **
**                                                                     **
**                              README File                            **
**                                                                     **
*************************************************************************

    VF-Ray is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    VF-Ray is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see
    <http://www.gnu.org/licenses/>.

Abstract:

Volume ray casting algorithms benefit greatly with recent increase of
GPU capabilities and power. In this paper, we present a novel memory
efficient ray casting algorithm for unstructured grids completely
implemented on GPU using a recent off-the-shelf nVidia graphics
card. Our approach is built upon a recent CPU ray casting algorithm,
called VF-Ray, that considerably reduces the memory footprint while
keeping good performance. In addition to the implementation of VF-Ray
in the graphics hardware, we also propose a restructuring in its data
structures. As a result, our algorithm is much faster than the
original software version, while using significantly less memory, it
needed only one-half of its previous memory usage. Comparing our GPU
implementation to other hardware-based ray casting algorithms, our
approach used between three to ten times less memory. These results
made it possible for our GPU implementation to handle larger datasets
on GPU than previous approaches.

Instalation:

    VF-Ray code was written and tested on Linux platform using Compute
    Unified Device Architecture (CUDA) Utilities from nVidia for CUDA
    binding.  To download and/or see more information about above
    dependency see:

    CUDA: http://www.nvidia.com/object/cuda_get.html

    In order to proper compile the VF-Ray code, the CUDA compile
    wrapper (nvcc) and libraries (cuda, cudart and cutil) should have
    been installed by CUDA Toolkit and SDK from nVidia.  The Makefile,
    MakefileCPU and MakefileCUDA can be optionally edited to reflect
    specific configurations.

Usage:

    VF-Ray program is designed to run using a GPU that supports nVidia
    CUDA language.  It has been tested on a nVidia GeForce 8800.

    Command line: ./vfRay 'volume'

    VF-Ray program searches by default a directory with volume
    information named: ../tet_offs/.  For example, run it by calling:

    $ ./vfRay spx2

    and it will search for: ../tet_offs/spx2.off.  Additionally, files
    named spx2.tf, spx2.lmt, spx2.con and spx2.extf will also be
    opened in the same directory.  If they don't exist, they will be
    computed and created.  The only required file is the volume
    itself: ../tet_offs/'volume'.off.

File Formats:

    .off   -   Model file ( vertex position and tetrahedra ids )
    .tf    -   Transfer Function file
    .lmt   -   limits file ( maxEdgeLength, maxZ and minZ values )
    .extf  -   external faces file
    .con   -   cell connectivity file