landscapes icon indicating copy to clipboard operation
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.

Build Status

{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
    • pempek-assert (included in the project)
      • Asserts with formatted error messages
      • Tested with commit b813764 (included in the project at src/pempek_assert.cpp and include/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

  • 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