Voxel engine written in C++/Lua
C++ GLSL Lua C CMake Shell Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
source
.gitignore
README.md
architecture.dia
license.md
proposal.md

README.md

README

Voxel-based engine written in C++ with Lua scripting.

Currently the engine render stores blocks of different types as integers that are stored in hash maps (with a custom hashing function) for O(1) access.

Blocks are drawn by supplying the block texture and the positions of all blocks of that type using instancing.

The plan is to a texture atlas to reduce the number of draw calls but this will take some time. I may also implement a marching cubes style surface extractor that will help in avoiding sending occluded voxels to the GPU.

Compiling

This project used to compile from a simple Makefile but the build process became much more complicated as time went on.

It is now built via cmake and has been tested on Windows and Linux. I recommend Clion with the MinGW toolchain for Windows users.

To compile without an IDE, it should suffice to do the following from the source directory at the terminal:

mkdir build && cd build
cmake ../ && cmake --build .

Note that C++11 is required but only for more accurate timing with std::chrono. The requirement of C++11 will be moved to a separate debugging build target in the future.