Go to file
Marc Gilleron 9cdaf1fd45 Switch to 2D textures instead of texture arrays due to layer count limitation 2022-08-18 21:29:09 +01:00
.github Fix env var 2022-07-17 01:35:13 +01:00
constants Switch to 2D textures instead of texture arrays due to layer count limitation 2022-08-18 21:29:09 +01:00
doc Switch to 2D textures instead of texture arrays due to layer count limitation 2022-08-18 21:29:09 +01:00
edition Moved interpolation helper to common funcs 2022-08-09 23:53:54 +01:00
editor Added popout button to the graph editor to open it on a separate window 2022-08-02 22:14:33 +01:00
engine Switch to 2D textures instead of texture arrays due to layer count limitation 2022-08-18 21:29:09 +01:00
generators Support edited voxels in distance normalmaps 2022-08-09 23:56:38 +01:00
meshers Fix wrong block coordinate systems when computing normalmaps and a few other things 2022-08-17 22:23:13 +01:00
misc Removed VoxelStreamBlockFiles 2022-07-17 18:49:48 +01:00
storage Support edited voxels in distance normalmaps 2022-08-09 23:56:38 +01:00
streams Rename flush_cache with connection parameter to flush_cache_to_connection 2022-08-04 11:30:32 -05:00
terrain Switch to 2D textures instead of texture arrays due to layer count limitation 2022-08-18 21:29:09 +01:00
tests Use band-based task priorities, where higher means higher 2022-08-16 21:12:10 +01:00
thirdparty Prefix include guard to prevent conflict with Godot's version 2022-04-10 14:38:04 +01:00
util Switch to 2D textures instead of texture arrays due to layer count limitation 2022-08-18 21:29:09 +01:00
.clang-format Configure clang-format to put a newline after template declarations 2022-01-04 22:15:57 +00:00
.gitignore Optimize SVG images and convert most PNG images to WebP 2022-07-04 00:56:04 -05:00
.readthedocs.yml Add readthedocs file 2021-01-21 00:44:02 +00:00
LICENSE.md Update license date 2022-01-16 15:27:20 +00:00
README.md Update README.md 2022-07-22 11:33:42 +03:00
SCsub Move vox code under vox/ folder 2022-07-17 19:15:32 +01:00
config.py Update class list in get_doc_classes 2022-08-03 17:37:07 -05:00
gource_view.sh Renamed VoxelServer => VoxelEngine 2022-07-16 23:59:06 +01:00
nuget.config Trying to fix Github build pipeline, this seems to be a problem with the Windows images being used to build. 2021-05-08 19:57:06 +02:00
register_types.cpp Fix wrong block coordinate systems when computing normalmaps and a few other things 2022-08-17 22:23:13 +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 developed 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