A voxel engine for godot. I'ts a c++ engine module.
Go to file
2020-04-17 01:52:16 +02:00
areas More const qualifiers. 2020-04-16 17:54:32 +02:00
data More const qualifiers. 2020-04-16 17:54:32 +02:00
doc_classes Sync classref with the current source. 2020-04-14 16:59:01 +02:00
level_generator VoxelChunk now inherits from Resource instead of from Spatial. This is to make the scene cleaner (especially after I implement the world editor plugin). As a small bonus this should also make multithreading-related crashes harder to create, as manipulating the Scenetree from a thread by accident is now a lot harder. 2020-04-02 21:28:19 +02:00
library The air block is not required anymore. Also Implemented the sidebar for world editor. And fixed a naming error for a virtual method in the merger library. 2020-04-17 00:37:22 +02:00
meshers The air block is not required anymore. Also Implemented the sidebar for world editor. And fixed a naming error for a virtual method in the merger library. 2020-04-17 00:37:22 +02:00
thirdparty/lz4 Added lz4. It will be used to compress chunk data. The choice of the algorithm was inspired by Zylann's godot_voxel. 2020-03-31 12:27:29 +02:00
world Implemented add and remove tool mode selectors in world editor. Also added shortcuts (a, s). 2020-04-17 01:52:16 +02:00
.gitignore
config.py Added a blocky mesher, chunk, and world (The minecraft-style mesher). It's incomplete. Also ported the light baking step from Broken Seals, and fixed a few warnings. 2020-04-05 01:36:41 +02:00
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!