Go to file
Marc Gilleron 5a05854fde Update include guards 2022-06-26 17:20:21 +01:00
.github Test the master branch using the 4.0 branch of the regression test project (also, master is not a branch at that project). 2022-06-04 16:55:50 -04:00
constants Combine regular and transition meshes together. 2022-06-25 16:47:09 +01:00
doc Note about earlyness 2022-06-20 19:53:01 +01:00
edition Some changes and fixes related modifiers 2022-06-18 23:14:18 +01:00
editor Initial WIP for SDF non-destructive voxel modifiers. Support is incomplete. 2022-06-09 20:35:29 +01:00
generators Some changes and fixes related modifiers 2022-06-18 23:14:18 +01:00
meshers Don't generate transition meshes when VoxelMesherTransvoxel is used in a fixed-lod volume 2022-06-26 17:20:08 +01:00
misc Move natvis file to misc/ folder 2021-12-11 22:38:39 +00:00
server Don't generate transition meshes when VoxelMesherTransvoxel is used in a fixed-lod volume 2022-06-26 17:20:08 +01:00
storage Profile buffer modifier 2022-06-19 21:41:32 +01:00
streams Merge branch 'master' into modifiers 2022-06-19 21:41:38 +01:00
terrain Update include guards 2022-06-26 17:20:21 +01:00
tests Allow to specify which surfaces have collision 2022-05-17 22:12:54 +01:00
thirdparty Prefix include guard to prevent conflict with Godot's version 2022-04-10 14:38:04 +01:00
util Combine regular and transition meshes together. 2022-06-25 16:47:09 +01:00
.clang-format Configure clang-format to put a newline after template declarations 2022-01-04 22:15:57 +00:00
.gitignore Add *.tmp to the .gitignore 2022-06-12 21:43:39 -05:00
.readthedocs.yml
LICENSE.md Update license date 2022-01-16 15:27:20 +00:00
README.md Update supporters 2022-06-04 23:11:38 +01:00
SCsub Added inspector plugin to edit VoxelMeshSDF 2022-05-05 20:57:59 +01:00
config.py Added VoxelMeshSDF and VoxelToolLodTerrain.stamp_sdf() 2022-05-02 19:14:12 +01:00
nuget.config
register_types.cpp Initial WIP for SDF non-destructive voxel modifiers. Support is incomplete. 2022-06-09 20:35:29 +01:00
register_types.h Update to new module registration 2022-05-07 22:06:32 +01:00

README.md

Voxel Tools for Godot

A C++ module for creating volumetric worlds in Godot Engine.

🚪 Windows Builds 🐧 Linux Builds 🐒 Mono Builds

Discord

Blocky screenshot Smooth screenshot Textured screenshot

Features

  • Realtime 3D terrain editable in-game (Unlike a heightmap based terrain, this allows for overhangs, tunnels, and user creation/destruction)
  • Godot physics integration + alternate fast Minecraft-like collisions
  • Infinite terrains made by paging chunks in and out
  • Voxel data is streamed from a variety of sources, which includes the ability to write your own generators
  • Minecraft-style blocky voxel terrain, with multiple materials and baked ambient occlusion
  • Smooth terrain with level of detail using Transvoxel
  • Voxel storage using 8-bit or 16-bit channels for any general purpose
  • Instancing system to spawn foliage, rocks and other decoration on surfaces

Check the changelog for more recent details.

Documentation

Roadmap

These are some ideas that may or may not be implemented in the future:

  • Texturing on smooth terrain
  • Editor preview and authoring
  • Improving LOD performance
  • Other meshing algorithms (e.g. dual contouring)
  • GPU offloading (Maybe when Godot 4+ supports compute shaders)
  • Migrate to a GDNative plugin (post Godot 4, needs work)

Supporters

This module is a non-profit project developped by voluntary contributors. The following is the list of the current donors. Thanks for your support :)

Gold supporters

Aaron Franke (aaronfranke)

Silver supporters

TheConceptBoy
Chris Bolton (yochrisbolton)
Gamerfiend (Snowminx) 
greenlion (Justin Swanhart) 
segfault-god (jp.owo.Manda)
RonanZe
Phyronnaz
NoFr1ends (Lynx)

Supporters

rcorre (Ryan Roden-Corrent) 
duchainer (Raphaël Duchaîne)
MadMartian
stackdump (stackdump.eth)
Treer
MrGreaterThan
lenis0012