Go to file
Marc Gilleron 43588cae17 Fix snapped implementation, it was not snapping size correctly 2021-03-12 23:33:29 +00:00
.github Stop using RevoluPowered's cache as in Godot's repo 2021-02-16 22:37:14 +00:00
constants Allow lower split scale 2021-03-12 23:32:02 +00:00
doc Some precision 2021-02-26 18:40:40 +00:00
edition Implemented `copy` and `paste` for VoxelToolTerrain (untested) 2021-02-21 18:23:56 +00:00
editor Update supporters 2021-03-02 21:10:27 +00:00
generators Moved constants and tables under a folder 2021-02-21 23:58:00 +00:00
meshers Moved constants and tables under a folder 2021-02-21 23:58:00 +00:00
server Use square root in distance-based priority 2021-03-12 23:31:20 +00:00
storage Moved constants and tables under a folder 2021-02-21 23:58:00 +00:00
streams Moved constants and tables under a folder 2021-02-21 23:58:00 +00:00
terrain Added debug function to get octree state 2021-03-11 22:55:52 +00:00
thirdparty Attempted again to integrate FastNoise2, but C++17 is really needed. 2021-02-21 03:02:32 +00:00
util Fix snapped implementation, it was not snapping size correctly 2021-03-12 23:33:29 +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 Update supporters 2021-03-02 21:10:27 +00:00
SCsub Moved constants and tables under a folder 2021-02-21 23:58:00 +00:00
config.py Added missing VoxelStreamSQLite XML doc 2021-02-16 20:53:30 +00:00
register_types.cpp Moved constants and tables under a folder 2021-02-21 23:58:00 +00:00
register_types.h Added project: first working prototype, but lots of TODOs 2016-05-01 15:00:02 +02: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
jp.owo.Manda (segfault-god)