Go to file
Marc Gilleron 5afab83cd6 Include less things from macros.h 2022-04-09 00:53:51 +01:00
.github
constants
doc Added class to schedule custom tasks from scripts 2022-04-07 22:34:07 +01:00
edition Remove unused function, use & references instead of Ref<T> 2022-04-07 19:44:29 +01:00
editor Return reference, pointer must not be null 2022-04-08 23:54:04 +01:00
generators Include less things from macros.h 2022-04-09 00:53:51 +01:00
meshers Unify macro prefixes 2022-04-06 23:26:54 +01:00
misc
server Return reference, pointer must not be null 2022-04-08 23:54:04 +01:00
storage Unify macro prefixes 2022-04-06 23:26:54 +01:00
streams Unify macro prefixes 2022-04-06 23:26:54 +01:00
terrain Return reference, pointer must not be null 2022-04-08 23:54:04 +01:00
tests Use unique pointers in ExpressionParser 2022-04-06 22:00:32 +01:00
thirdparty
util Include less things from macros.h 2022-04-09 00:53:51 +01:00
.clang-format
.gitignore
.readthedocs.yml
LICENSE.md
README.md
SCsub Added class to schedule custom tasks from scripts 2022-04-07 22:34:07 +01:00
config.py Added command line variable to toggle FastNoise2 support 2022-03-30 23:17:27 +01:00
nuget.config
register_types.cpp Added class to schedule custom tasks from scripts 2022-04-07 22:34:07 +01:00
register_types.h

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 :)

Supporters

wacyym
Sergey Lapin (slapin)
Lynx (NoFr1ends)
lenis0012
Phyronnaz
RonanZe
furtherorbit
jp.owo.Manda (segfault-god)
hidemat
Jakub Buriánek (Buri)
Justin Swanhart (Greenlion)
Sebastian Clausen (sclausen)
MrGreaterThan
baals
Treer
stackdump.eth
Snowminx (Gamerfiend)
Skyquakers
MadMartian