Go to file
Marc Gilleron b200a52870 Indicate which CI artifact is the editor 2021-05-08 19:28:30 +01:00
.github Attempt production flag for Linux builds 2021-04-30 22:13:06 +01:00
constants Allow to use block size 32 for mesh blocks while using 16 for data blocks 2021-04-03 20:39:37 +01:00
doc Indicate which CI artifact is the editor 2021-05-08 19:28:30 +01:00
edition Fixed several bugs related to VoxelTool::paste() 2021-05-07 18:38:02 +01:00
editor Increase resolution of preview nodes 2021-04-18 00:35:04 +01:00
generators Fix Remap node 2021-04-30 22:07:26 +01:00
meshers Moved constants and tables under a folder 2021-02-21 23:58:00 +00:00
server Fixed several bugs related to VoxelTool::paste() 2021-05-07 18:38:02 +01:00
storage Fixed several bugs related to VoxelTool::paste() 2021-05-07 18:38:02 +01:00
streams Merge branch 'master' into block_size_decoupling 2021-04-11 01:09:51 +01:00
terrain Don't try to save if there is no stream attached 2021-05-08 17:56:43 +01:00
tests Added first C++ test 2021-04-03 20:40:35 +01:00
thirdparty More precise range analysis for FastNoiseLite 2021-03-14 18:47:23 +00:00
util Fixed several bugs related to VoxelTool::paste() 2021-05-07 18:38:02 +01:00
.gitignore Ignore Godot log files that sometimes get saved in doc/tools when running scripts from here 2021-01-21 20:05:53 +00:00
.readthedocs.yml Add readthedocs file 2021-01-21 00:44:02 +00:00
LICENSE.md Added About window and list of donors 2020-12-17 21:45:44 +00:00
README.md Update readme 2021-03-27 00:57:28 +00:00
SCsub Only run tests in debug targets for now 2021-05-08 19:27:33 +01:00
config.py Added missing VoxelStreamSQLite XML doc 2021-02-16 20:53:30 +00:00
register_types.cpp Removed VoxelMap and VoxelBlock, superseded by their specialized versions 2021-04-15 20:25:55 +01:00
register_types.h Added project: first working prototype, but lots of TODOs 2016-05-01 15:00:02 +02:00
voxel.natvis Update module dev infos, add debugging tips, add natvis file 2021-05-02 19:24:16 +01:00

README.md

Voxel Tools for Godot

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

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)
Jonas (NoFr1ends)
lenis0012
Phyronnaz
RonanZe
furtherorbit
jp.owo.Manda (segfault-god)
hidemat
Jakub Buriánek (Buri)