### README OF VORACA ###
************************
Version     : 0.95 (Binary)
Author      : Raphael Philipp Menges
License     : ISC (where Raphael Philipp is author)
Date		: 20th April 2014
Dependencies:
	- AntTweakBar 1.16
	http://anttweakbar.sourceforge.net/doc/
	- GLEW 1.10.0
	http://glew.sourceforge.net/
	- GLFW 3.0.4
	http://www.glfw.org/
	- GLM 0.9.4.6
	http://glm.g-truc.net/0.9.4/index.html
	- picoPNG
	http://lodev.org/lodepng/
	- RapidXML 1.13 (Boost Software License was chosen)
	http://rapidxml.sourceforge.net/

Thanks to Andre Taulien for supporting in the linux compatibility!
Thanks to Nils Hhner for supporting in the MacOS compatibility!

DESCRIPTION
This software is able to import DAT and decompressed PVM volume data. 
It visualizes them using a ray-casting algorithm implemented with GLSL 3.3.
One can define a custom 1D transfer function. Transfer function, ray-caster
properties and volume settings can be saved as XML file. For more information,
please feel free to read my bachelor thesis:
http://kola.opus.hbz-nrw.de/volltexte/2014/970/

DAT data can be found for example at:
http://www.cg.tuwien.ac.at/research/publications/2005/dataset-stagbeetle/
Just copy the downloaded file into "Data/Volumes/DAT", fill the filename
into the field "Volume To Load/Import" (Volume Management) of the editor 
bar and press the "Import DAT" button in the bar.

REQUIREMENTS
Graphics card and operation system must support OpenGL 3.3 and GLSL 3.3.
The binary was successfully tested on Windows 8.1. You may need a graphics card
driver update and Visual C++ Redistributable for Visual Studio 2012 
Update 4 (x86).

GENERAL AND CONTROLS
Voraca use viewports and a handle based system. There is one main window with multiple 
viewports which hold the functionalities. Data like volumes, transfer functions and 
ray-caster properties are identified by handles. Each viewport has its own bar to
assign handles and edit data. In addition, the editor has one global bar for loading, 
importing and saving volumes. Currently, there are three types of viewports:

	- TfEditor
	Allows one to define a custom transfer function. Its bar holds the 
	management of transfer functions. Left mouse button set the point 
	beneath the cursor as active point of the transfer function 
	and can be moved. Right mouse button creates new points. Middle mouse 
	button is used for moving the camera. Pressing STRG while selecting a 
	point adds it to the current selection. Pressing SHIFT while 
	selecting a point selects all points between the now active and
	last active point, if there was one. Mouse wheel is used for zooming.
	
	- Renderer
	Combines volume data, transfer function and ray-casting properties and
	visualizes it. Camera can be moved by using the mouse cursor while the
	left mouse button is pressed. The mouse wheel is used for zooming.
	Its bar holds the management of the ray-caster properties.

	- Slicer
	Let one scroll through volume data using mouse wheel. The pivot is set 
	via the left mouse button. This pivot is used in any TfEditor that
	has assigned the same volume as the slicer.