A voxel engine for godot. I'ts a c++ engine module.
Go to file
2020-04-14 16:59:01 +02:00
areas
data
doc_classes Sync classref with the current source. 2020-04-14 16:59:01 +02:00
level_generator
library Ran clang format, as apparently I had it off. 2020-04-10 13:55:27 +02:00
meshers Ran clang format, as apparently I had it off. 2020-04-10 13:55:27 +02:00
thirdparty/lz4
world A bit more work on the world editor. 2020-04-10 16:28:33 +02:00
.gitignore
config.py
LICENSE
README.md
register_types.cpp Optional module dependencies are actually optional now. 2020-04-06 22:47:03 +02:00
register_types.h
SCsub Optional module dependencies are actually optional now. 2020-04-06 22:47:03 +02:00

voxelman

A voxel engine module for godot, focusing on editor integration, rapid prototyping, gameplay-related features, speed, and extendability (even from gdscript).

This module have dependencies to some of my other engine modules, these will be made optional later, for now you will need to install them as well.

For now, my main game project (https://github.com/Relintai/broken_seals -> voxelman folder) has the implementation of the transvoxel mesher. The cubic mesher should be usable out of the box.

The cubic mesher is just an algorithm that I made up, to have voxel cubes, that can use the actual 3d fill values from the chunk.

Multi threading is really new, it still has a bunch of crashes, for now I don't recommend turning it on (unless you know what you are doing ofc).

The module supports baking lights into vertex colors, it can also merge texture atlases, and meshes.

It has also Props, these are combinations of lights, meshes, and scenes. The addon that can create these these are in a separate repository.

In gles2 the mesh data isn't accessible, so mergeable meshes has to be in a different format (MeshDataResource). They have an import plugin. You have to set mergeable meshes to this format in godot's import tab.

Note, that this module was created for my game, at the moment only the things that I directly needed (or thought I needed) are implemented!

This will change over time!