Voxel module for Godot Engine
Go to file
2016-05-04 14:52:41 +02:00
screenshots Added screenshot and feature list 2016-05-04 14:52:41 +02:00
.gitignore
config.py
README.md Added screenshot and feature list 2016-05-04 14:52:41 +02:00
register_types.cpp Added VoxelLibrary, texture coordinates and random stuff 2016-05-01 22:20:27 +02:00
register_types.h
SCsub
vector3i.h VoxelBuffer storage is now flat to reduce memory usage and simplify code 2016-05-03 00:09:07 +02:00
voxel_buffer.cpp VoxelBuffer storage is now flat to reduce memory usage and simplify code 2016-05-03 00:09:07 +02:00
voxel_buffer.h VoxelBuffer storage is now flat to reduce memory usage and simplify code 2016-05-03 00:09:07 +02:00
voxel_library.cpp Added VoxelLibrary, texture coordinates and random stuff 2016-05-01 22:20:27 +02:00
voxel_library.h Added VoxelLibrary, texture coordinates and random stuff 2016-05-01 22:20:27 +02:00
voxel_mesh_builder.cpp Added support for vertex ambient occlusion 2016-05-04 14:52:23 +02:00
voxel_mesh_builder.h Added support for vertex ambient occlusion 2016-05-04 14:52:23 +02:00
voxel.cpp VoxelBuffer storage is now flat to reduce memory usage and simplify code 2016-05-03 00:09:07 +02:00
voxel.h Added VoxelLibrary, texture coordinates and random stuff 2016-05-01 22:20:27 +02:00

Voxel Tools for Godot

C++ module for creating cube-esque voxel worlds in Godot Engine.

Example screenshot

Features

  • Compact voxel storage using 8-bit channels like images
  • Calculates meshes based on grid of voxels. Only visible faces are generated.
  • Vertex-based ambient occlusion (comes for free at the cost of slower mesh generation)
  • Voxels can be of any shape, not just cubes (not fully accessible yet but present in code)

Ideas TODO

  • VoxelMap node for infinite voxel terrain
  • VoxelStreamer node to put on players so terrains know which voxels to load around them
  • Physics!
  • Make voxels editable
  • Support internal threading
  • Support saving and loading
  • Promote classes to Node and Resource for better editor experience
  • Interface for terrain generation modules (I don't plan to integrate a noise library in this module, unless it's integrated in Godot core)
  • Support structure generation (anything that is bigger than one voxel)
  • Convert any imported meshes to Voxel-compatible meshes (to comply with a few optimizations)
  • Generate Mesh resources from voxels so they can be used in the editor as MeshInstances
  • Import resources from other editors like Magicka-voxel
  • Volumetric grid algorithms: fluids, pathfinding, lighting...