landscapes
landscapes copied to clipboard
Sparse Voxel Octree implementation
landscapes
Sparse Voxel Octree implementation. Based on the paper Efficient Sparse Voxel Octrees – Analysis, Extensions, and Implementation by Samuli Laine and Tero Karras of NVIDIA Research.
{Long Description}
License
Libraries have their own license.
Some specific files might have their own license included in them; in this case those files fall under that license. Some directories might have their own license; in that case those directories will have a README, LICENSE, COPYING or similar file related to licensing.
As for the rest of the project, code written by me in this project is released under the MIT License.
Dependencies
Build system:
- CMake >= 3.1 (if using CMake)
Libraries:
-
To build core landscapes:
- cubelib
-
glm
- High-perf math library, useful for vectorized ops required for graphics, and also useful for opencl-compatible shim/layer
- Tested with commit 78f686b
- "the Happy Bunny License (Modified MIT) or the MIT License"
-
pempek-assert (included in the project)
- Asserts with formatted error messages
- Tested with commit b813764
(included in the project at
src/pempek_assert.cpp
andinclude/pempek_assert.h
) -
released under the WTFPL v2 license, by Gregory Pakosz (@gpakosz)
-
bprinter
- Pretty-printed tables, useful for debugging
- Tested with commit 29531dc
- BSD License
-
cppformat
- Formatting strings for C++, mostly useful for debugging, error messages etc.
- Tested with commit 4797ca0
- BSD License
-
To build landscapes-mc
- landscapes::svo
-
cNBT
- Tested with commit 5850e3e
-
THE BEER-WARE LICENSE
- libz
-
ThreadPool
- Tested with commit 9a42ec1
- zlib License
-
For project landscapes-mc-demo
- landscapes-mc
- gfxapi
- MathGeoLib
- glut
- glu
- glfw
- cubelib
Building
git clone https://github.com/realazthat/landscapes.git
cd landscapes
#optionally download and build googletest (only matters if you are going to run the unittests)
#note, choose the appropriate generator
CMAKE_GENERATOR="MSYS Makefiles" bash ./scripts/download-and-build-googletest.sh
#optionally download and build dependencies
#note, choose the appropriate generator
CMAKE_GENERATOR="MSYS Makefiles" bash ./scripts/download-and-build-libs-with-no-pkg.sh
rm -rf ./build
mkdir -p build && cd build
cmake -G"MSYS Makefiles" ..
cmake --build . --target landscapes
cmake --build . --target landscapes-mc
# ... etc.
#optionally build and execut the unittests
cmake --build . --target unittests
./unittests