Go to file
Marc Gilleron a2096b2014 Fix heightmap generators when used with VoxelLodTerrain in blocky mode 2021-10-08 02:35:52 +01:00
.github
constants Allow to configure main thread time limit 2021-09-25 02:13:03 +01:00
doc Update threads section 2021-10-04 19:34:01 +01:00
edition Fix enum comparisons (2) 2021-09-26 17:36:56 +01:00
editor Show memory usage, use comma formatting for big numbers, shorten labels 2021-10-01 20:33:52 +01:00
generators Fix heightmap generators when used with VoxelLodTerrain in blocky mode 2021-10-08 02:35:52 +01:00
meshers Split VoxelBuffer in two, script-facing wrapper and internal. 2021-09-26 04:14:50 +01:00
server Fix some stats and add VoxelMemoryPool info 2021-10-02 18:31:48 +01:00
storage Fix leaking Pool objects 2021-10-04 01:36:15 +01:00
streams Fix voxel mips saved at wrong positions, caused them to show up often in the air 2021-10-04 01:32:12 +01:00
terrain Avoid crash if the argument is invalid (though it's not really a public function) 2021-10-04 20:15:32 +01:00
tests Fix test 2021-10-01 21:20:49 +01:00
thirdparty Added mesh optimization option to Transvoxel, using MeshOptimizer 2021-07-11 16:19:49 +01:00
util Fixed writing out of bounds when the whole buffer is copied 2021-10-01 19:31:30 +01:00
.gitignore
.readthedocs.yml
LICENSE.md Update date 2021-08-07 23:03:01 +01:00
README.md Update supporters 2021-09-17 21:40:55 +01:00
SCsub Added vox scene importer. No options at the moments. 2021-07-31 18:48:47 +01:00
config.py
nuget.config
register_types.cpp Added vox scene importer. No options at the moments. 2021-07-31 18:48:47 +01:00
register_types.h
voxel.natvis

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)
Jonas (NoFr1ends)
lenis0012
Phyronnaz
RonanZe
furtherorbit
jp.owo.Manda (segfault-god)
hidemat
Jakub Buriánek (Buri)
Justin Swanhart (Greenlion)
Sebastian Clausen (sclausen)
MrGreaterThan
baals