Go to file
Marc Gilleron 137059f514 Use relationship=2 for block map 2021-01-24 15:24:07 +00:00
.github Give a different name to release CI builds, they could not be told apart 2020-12-18 21:22:57 +00:00
doc Links to FastNoiseLite repo 2021-01-24 14:52:57 +00:00
edition Fix sdf_scale not defaulting according to the real default channel depth 2021-01-24 14:48:25 +00:00
editor Fix potential issue with non-initialized label 2021-01-23 01:32:42 +00:00
generators Added SDF scale to VoxelTool. Default value should work best with default bit depth. 2021-01-24 13:54:38 +00:00
math Made file streams thread-safe (but still won't be used in more than one thread) 2021-01-16 13:34:45 +00:00
meshers Added SDF scale to VoxelTool. Default value should work best with default bit depth. 2021-01-24 13:54:38 +00:00
server Request saving of generated blocks if the option is enabled in VoxelStream 2021-01-17 22:22:10 +00:00
storage Fix sdf_scale not defaulting according to the real default channel depth 2021-01-24 14:48:25 +00:00
streams Saving generator output is no longer enabled by default. Now only changes may be saved. 2021-01-21 19:40:26 +00:00
terrain Use relationship=2 for block map 2021-01-24 15:24:07 +00:00
thirdparty Added FastNoise2 for SIMD noise, but it won't be integrated yet. 2021-01-09 16:35:40 +00:00
util Allow ArraySlices to be empty 2021-01-16 13:37:41 +00: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 Shortened readme, information is in one place in the doc 2021-01-24 14:05:26 +00:00
SCsub Added FastNoise2 for SIMD noise, but it won't be integrated yet. 2021-01-09 16:35:40 +00:00
config.py New documentation (some things left to do but most of it is updated) 2021-01-21 00:37:01 +00:00
cube_tables.cpp Fix normalmaps in blocky mesher 2021-01-22 19:18:26 +00:00
cube_tables.h Fix normalmaps in blocky mesher 2021-01-22 19:18:26 +00:00
octree_tables.h Moved ObjectPool to util/ and moved OctreeTables to root 2019-04-29 21:31:08 +01:00
register_types.cpp Register `VoxelToolBuffer` because otherwise it gets initialized lazily, causing crashes in threads 2021-01-17 22:18:41 +00:00
register_types.h Added project: first working prototype, but lots of TODOs 2016-05-01 15:00:02 +02:00
voxel_constants.h Added SDF scale to VoxelTool. Default value should work best with default bit depth. 2021-01-24 13:54:38 +00:00
voxel_string_names.cpp Script-based generators and streams have their own class, should fix C# API 2020-10-31 22:11:25 +00:00
voxel_string_names.h Script-based generators and streams have their own class, should fix C# API 2020-10-31 22:11:25 +00: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 editable, 3D based terrain (Unlike a heightmap based terrain, this allows for overhangs, tunnels, and user creation/destruction)
  • Physics based collision and raycast support
  • Infinite terrains made by paging sections 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 using Transvoxel
  • Levels of detail for smooth terrain
  • Voxel storage using 8-bit or 16-bit channels for any general purpose

Documentation

Roadmap

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

  • Instancing for foliage and rocks
  • 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)

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