Skip to content

Latest commit

 

History

History
45 lines (38 loc) · 2.12 KB

README.md

File metadata and controls

45 lines (38 loc) · 2.12 KB

Voraca

Volume raycasting powered by OpenGL 3.3 core profile. This project was part of my bachelor thesis in 2014!

Features

  • Loading of DAT and PVM (uncompressed) files
  • Realtime manipulation of 2D transferfunction via mouse
  • Bezier curve interpolation between set points in transferfunction
  • Multiply shading parameters per point in transferfunction
  • Local lighting via sun
  • Acceleration techniques (Early Ray Termination, Empty Space Skipping...)
  • Spherical reflection
  • Volume clipping with box
  • Launch file, transferfunction and raycaster settings can be saved as XML

Screenshot

Screenshot

Videos

HowTo

Just run CMake to create a project for your IDE and compile it. Should work on Windows and Linux with OpenGL 3.3 core profile compatible graphics hardware. Tested under:

  • Windows 10, Visual Studio 2015, 64bit project, AMD Radeon HD 7950
  • Arch Linux, GCC 5.x, 64bit project, Nvidia Geforce 860m running with optirun

Dependencies

TODO

  • Warnings in GCC (all about char* conversion)
  • Does not render correctly on linux with intel gpu
  • 32bit support for Windows / Visual Studio
  • Importance volume does not use complete information of volume if volume resolution % downscale !=0
  • Histogram is one pixel too wide
  • Shader::draw line 174: Reset of textureSlotCounter only works as expected if all textures assigned once or all textures assigned each frame. Mixing would break it.

Acknowledgements

  • Thanks to Andre Taulien for supporting in the Linux compatibility!
  • Thanks to Nils Höhner for supporting in the MacOS compatibility! (not given right now)