This project was my very first project in C++ (I primarily used Java before), therefore there will be many memory leaks, weird programming styles and also changes in my style of coding. There are also unsued classes and functions, that I planned on using before I stopped working on VXL.
- VXL is a voxel-octree rendering engine running on OpenCL (OpenGL is used for displaying only)
- (At the moment) it is using a tree based per-pixel search algorithm for rendering voxel models
- The project is work in progress and not nearly near a finished state and can be seen as an experiment
- At the moment it is not open source, however I plan on publishing the source code at some time
- The latest version is VXL Alpha 1.3
- The program can convert triangulated OBJ-models into VXL-models with a uniform colour
- Certain variables like resolution, OpenCL-device and so on can be changed in properties files contained within ./props
- VXL can render 3D voxel models of any size at any resoution as far as they don't exceed the computers memory
- You view the models from any perspective using WASD for the camera movenent and the arrow keys for the rotation
- The project is written in C/C++, it can and will in the future therefore be ported to Linux and OSX
- VXL is supposed to become a game engine at some point, however it is still far from that
- The idea is that using search algorithms for rendering, "unlimited" detail can be achieved
- Graphics card that supports OpenGL, OpenCL and recursion
- Microsoft Visual C++ 2015 (get it here)
- The required memory (also on the GPU) depends on the size of the model you are rendering
- Download the file named "vxl..zip" desired version here
- Extract the folder and modyfy ./props/graphics.properties and ./props/OpenCL.properties to fit your setup
- Run either "run.bat" or "Voxel.exe"
- The shown model is an octree with 10 subdivisions (model resolution of 1024x1024x1024, screen resolution of 500x500)
- Used GPU: NVIDIA GTX 750Ti
- The Polygonal structure in this preview is due to the original model not being very large
- The .vxl file is ~400MB in size. For reference: each cube contains 3 normal values (32-bit floats) and one colour (32-bit unsigned int), file size for this model using a simple 1024x1024x1024-matrix would be 16GB