---------- | PumPuP | ---------- Author : Vincent Pegoraro Version : September 15, 2008 URL : http://www.cs.utah.edu/~vpegorar/resources/pumpup/ License : --------- Copyright (c) 2006 Scientific Computing and Imaging Institute, University of Utah License for the specific language governing rights and limitations under permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, distribute, and to permit persons to whom the Software is furnished to do so, subject to the following conditions : the above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Overview : ---------- This volume renderer can be used to visualize any volumetric scalar field (assuming that the size of the data fits on your graphics card) using commodity graphics hardware. It has been designed to be simple and robust, and, as such, was implemented using straightforward OpenGL. The program checks for the availability of a few extensions, but uses work-arounds if these are not supported by your system. This tool should consequently run on most machines. Execution : ----------- Simply drag and drop the input file over the executable. Alternatively, in a command prompt, type the name of the executable followed by the name of the input file, for instance : PumPuP.exe volume.nrrd Input File Format : ------------------- The input file must represent some 3D volumetric data. It can be specified in either of these formats : - a header file (.nhdr) : text file containing the specifications of the raw data. The raw data is assumed to be in a file with identical path/name but with a .raw extension - a nrrd file (.nrrd) : concatenation in a single file of header specifications and raw data Keyboard controls : ------------------- General options : Esc : quit p : projection mode : perspective / orthogonal P : projection streching to screen aspect ratio : none / maxi / mini i : invert colors d : display : window mode / game mode r : screenshot : output image file in local directory R : screen capture : start / stop c : clip plane : enable / disable space : toggle mouse control : scene / clip plane / light t : transfer function : show / hide f : filter : nearest / linear z : texture compression : enable / disable 1 : LUMINANCE texture (1 channel ) 2 : LUMINANCE_ALPHA texture (2 channels) 3 : RGBA texture (4 channels) Options available only if 3D texture is supported : + : increase number of slices - : decrease number of slices v : view-aligned slices : on / off V : tight view-aligned slices : on / off Options available only if extensions required for volume shadowing are supported : l : light : activate / deactivate o : opacity : initial / light field of view C : clip plane for shadowing : enable / disable L : light projection mode : perspective / orthogonal Options available only if stereo is supported by your system : s : stereo : enable / disable < : decrease the interocular distance > : increase the interocular distance ALT + < : decrease the focus distance ALT + > : increase the focus distance Mouse controls : ---------------- Controlling the scene : - left button : drag for rotation - right button : drag for z translation - middle button : drag for xy translation Controlling the transfer function : - left button : pick or create a point to be dragged - right button : delete a point