From voxel generators and editors to terrains and voxel engines.
What Are Voxels and How Do They Work?
If you're a gaming geek, you're probably curious about voxels. Here's an overview: What are voxels? How do they differ from polygons? Voxel hierarchies and bounding volumes are some of the most common questions people have about voxels. Read on to discover the advantages and disadvantages of these units.
What are voxels
When we talk about pixels, we're talking about the elements that make up a picture. In reality, pixels are two-dimensional cubes. Voxels, on the other hand, are three-dimensional cubes, whose size is the same as the DFOV/matrix. They're useful for determining volumetric data quickly and accurately. So, voxels are very similar to pixels, except they represent a volume instead of a surface.
When voxels are aligned into three dimensional unfirom grids (like two dimensional pixels in regular textures), their positions are usually not encoded as they derive trivially from their place inside the grid. Other properties such as colour or normal vector may be encoded per each voxel. For space saving reasons voxels are often packed in spatial hierarchies like bintrees or octrees.
When you voxelize a 3D object, you get a three-dimensional representation of that object. The voxel doesn't know the shape of the volume, but it has a specific value that can be a gradient from 0 to X. As a result, voxelized 3D objects can look like the shape of their volume, even though it's not necessarily real.
Voxels can be shaped and used in various ways. If you want to learn more about voxel modeling, take a look at MagicaVoxel.
Voxels versus polygons
Today's technology can render voxels, but not in high-resolution. Today's computer hardware is designed to render polygons, and rendering high-resolution voxel objects would take a huge toll on current hardware. As a result, voxels are not commonly used in games today. Although voxel developers are passionate individuals and small teams, the future of voxel modeling is unclear.
Both voxels and polygons have their advantages and disadvantages. Polygons are efficient at representing simple 3D structures and homogeneously filled space, while voxels excel at sampling spaces regularly. They are widely used in scientific data analysis and visualization, and some volumetric displays use voxels to describe the resolution of their images. However, voxels fall short in certain areas, including animation.
While both polygons and voxels are useful in creating 3D graphics, they work very differently in real-life situations. Voxels are 3D cubes built by hand, whereas polygons require computer-aided design. Polygons work well for rendering 3D objects, but voxels are more versatile and allow for finer detail. They can be extremely expensive, and can also be very time-consuming to create.
Sparse voxel hierarchies
The sparse voxel octree is an efficient way to represent color and geometry of three-dimensional scenes. However, this data structure is inefficient for representing other voxel properties and is not suitable for lossless compression. Pointerless sparse voxel hierarchies use 32-bit pointers for child nodes and merge the common subtrees for fast traversal.
Alternatively, it may be advantageous to compute the voxels in an arbitrary manner. The voxel properties are known to be small and the computational burden is minimal, as the number of voxels above level n is only one-eighth of the voxels on the level below. The voxel data may be used for rendering high-resolution digital models.
Voxel editing
Whether you're looking to create a game or just want to use voxel graphics in your personal work, voxel editing is a powerful tool. There are many different programs available to help you create 3D assets, and you can even export your creations. Some of the more popular voxel editors are listed below. You can also use a free tool like Qubicle, which is designed to make creating your game assets easy.
The first step in the process is to select the model you'd like to edit. Then, click the voxel you want to change. A color-coded display of your model will appear in the model's center. In addition, you can change the value of each voxel by clicking it. Once you've clicked on a voxel, you'll see the associated polyhedral vertex.
Next, you'll need to choose a program for editing the voxel files. Most voxel editors are free to download. You can also use a web-based version of Voxel if you'd like. Make sure you use one that is reliable before using it for any type of project. If you're unsure of what format your files should be saved in, check out Mega Voxels.
A voxel is a cube of material that represents a value on a grid. It is very similar to a pixel, but it represents three-dimensional space, while pixels are two-dimensional. They are similar to each other in many ways, including the fact that voxels are smaller and have a single color. They're also located in the picture's grid. When edited, they make for a highly detailed 3D image.
Voxel rendering
Essentially, voxel rendering is a method of creating 3D scenes that have the appearance of a sphere. It works by converting flat block data into a list of renderable faces. The voxel rendering pipeline uses an algorithm known as greedy meshing, which culls faces that aren't visible or similar to others and combines them into larger blocks. This method reduces the overall number of quads while still delivering a dense, compact mesh.
Compared to rasterization, voxel rendering is simpler to implement and scale than traditional 3D rendering. It is not expensive to create a single voxel, or even millions of voxels. Also, voxel rendering can be implemented in almost any framework, and on any device, because it doesn't require 3D hardware or software. A simple CSS renderer can be used to show voxels in plain HTML.
When the number of voxels reaches the level of billions or trillions then more robust tools and frameworks are required. Computation and traversal time drops dramatically, and so does memory consumption.
Besides Minecraft, many other games have embraced voxel rendering. Some of these games include Ace of Spades, Creativerse, and Blade Runner. Others include the Command & Conquer and Cryengine series of games. These games use voxels to render terrain and vehicles. Ultimately, it's important to understand why these technologies are still used in games. However, despite the difficulties of voxel rendering, it's still a worthwhile option for some games.
A voxel-based volume can be rendered directly or by extracting polygon iso-surfaces that follow the contours of set threshold values. Ray casting algorithms like 3D DDA can be deployed for traversing the volume when rendering directly. The marching cubes algorithm can be used when extracting isosurfaces.
Resources (open source)
Back to Hub
1
Minetest is an open source voxel game engine with easy modding and game creation
C++
Other
2
Terrain rendering algorithm in less than 20 lines of code
C
3d-engine comanche game-comanche rendering-algorithms rendering-engine voxel-engine 3
OpenVDB Sparse volume data structure and tools
C++
dreamworks fx openvdb openvdb-development vfx volume-rendering voxelizer 4
Vengi15/10/2015
this week
Home of a voxel game engine and its tools (like a voxel editor)
C
Other
dear-imgui game-development procedural procedural-algorithms procedural-generation terrain-generation terrain-paging voxel-editor voxel-engine voxel-generator 5
Header only mesh voxelizer in c99
C
computer-graphics geometry-processing voxelizer 6
[WIP] Unreal Engine 4: Smooth voxel terrian example
C++
Unreal-engine
7
Marching Cubes terrain implementation in Unity using the Job System and the Burst compiler
C#
Unity
isosurface marching marching-cubes marching-cubes-algorithm marching-cubes-terrain terrain voxel-terrain 8
Voxel engine in Javascript
Javascript
9
Sucle12/09/2016
1 week ago
Common Lisp Voxel Game Engine
Common-lisp
10
Minecraft environment for Open AI Gym, based on Microsoft's Malmo.
Python
Torch
11
3D rendered proc gen world test. C++ homebrew voxel engine for agent driven prodedural generation / world simulation
C++
Opengl
12
Voxel Terrain made in React Native.
Javascript
Three-js
Webgl
android bootstrap cross-platform es6 expo game-development game-engine ios minecraft minecraft-pocket-edition native react-native reactjs visualization voxel-engine 13
VoxLords ThreeJS WebGL game with a simple voxel engine
Javascript
14
A Minecraft clone demo
Tex
Opengl
15
2D/3D graphics engine written in C++ language. It currently supports the following graphics APIs: OpenGL 3.3+, Vulkan 1.2, DirectX 11. Its current purpose is to experiment with various CG concepts and techniques.
C++
Glsl
Directx
Opengl
3d-graphics framebuffers imgui instancing marching-cubes particles pbr phong-lighting ray-tracing rendering shaders voxel-engine vulkan 16
Build your game with mods
Java
game-development game-engine game-engine-3d mod-framework sandbox-game voxel-engine voxel-game 17
Vox211/03/2015
2 months ago
Simple POC of PCG voxel engine
Javascript
Three-js
18
Qake24/07/2017
1 month ago
Qake voxel engine demo
Javascript
Three-js
19
A voxel terrain generator that allows artists to easily create endless, diverse game worlds.
C++
Unreal-engine
20
Terrain voxel engine with the use of Marching Cubes implemented in Unity 2020.3.17f1 (LTS).
C#
21
Leven08/10/2017
1 month ago
Complete source for my experimental voxel engine
C++
Opencl
Opengl
22
An Game Engine and Minecraft Classic Client
D
C
23
C and C++ Minecraft Importer library
C
minecraft minecraft-constructions minecraft-java-edition nbt-library voxel-data voxel-terrain 24
An awesome Voxel framework for Unity (Game Engine)
C#
Unity
25
A sparse voxel octree renderer, made for use with Unity.
C#
Unity
26
A voxel engine for godot. I'ts a C++ engine module.
C++
engine-module game-development godot lights meshes procedural-generation terrarin-generation voxel-engine 27
Parallel and memory efficient CPU rasterizer. Can process and merge multiple meshes to a single voxel model.
C++
28
Voxel Engine written in Python 3 + Pyglet.
Python
game-engine indiegame linux minecraft minetest osx pygame pyglet sandbox-game voxel-engine windows 29
A Python converter of 3D model into voxels
Python
30
Voxel handling library for game development, threaded generation/io/meshing with OpenGL rendering.
C++
Cmake
Opengl
open-source procedural-generation terrain-generation voxel-engine voxel-generator 31
Bones is a Voxel Editor for Unity. Supports both in game and in editor building.
C#
Unity
32
Jupyter
Tensorflow
neural-networks deep-recurrent-q-network deep-reinforcement-learning dqn gym-minecraft minecraft-reinforcement-learning pomdp
33
Osuve27/03/2018
2 weeks ago
Open Source Unity Voxel Engine
C#
Unity
Other
34
C++/OpenGL 4.6 voxel game engine.
C++
Opengl
35
Convert OBJ and STL files to voxels, with support for textures. Written in pure C++17 with CMake. No raytracing or slicing or OpenGL shenanigans. Fast and robust using just 3D intersections. Simple as.
C++
3d 3d-model qubicle stl-model texture voxelization voxelizer wavefront-obj 36
Voxel Engine and Game
C#
bepuphysicsv2 defaultecs ecs game-development game-engine graphics physics veldrid voxel-engine voxel-game 37
Voxly23/12/2018
1 week ago
Intuitive open source voxel editor; for both small and big ideas!
Gdscript
38
DDGI Minecraft is based on the 2019 SIGGRAPH paper, Dynamic Diffuse Global Illumination with Ray Traced Irradiance Fields (2019), where we aimed to approximate indirect lighting and global illumination in Minecraft inspired scenes using Vulkan to test the algorithm's efficacy in real time.
C++
global-illumination gpu-programming irradiance-field light-field-probes minecraft probe-texture ray-tracing ray-marching rays realtime-raytracer realtime-raytracing voxel-terrain vulkan 39
This project's main goal is to generate and visualize terrain built using voxels. It was achieved using different approaches and computing technologies just for the sake of performance and implementation comparison.
C#
Cuda
Hlsl
Directx
direct-compute marching-cubes parallel-computing post-processing terrain terrain-generation tessellation voxel-terrain 40
VoxelSpace, ported to Python
Python
41
A "Pixelart like" voxel engine
C
Opengl
Sdl
42
Voxel engine made in C# for Unity
C#
Unity
45
A GPU rendered voxel editor
Rust
46
Space invader: Voxelization of 3D models
Javascript
Three-js
47
Custom voxel engine written in C++ and OpenGL
C++
Opengl
49
C++11 code for building a 3D occupancy grid an SDF 3D grid from a mesh
C++
50
A custom 3D voxel space engine tech demo for the GameBoy Advance
C
51
A 3D Voxel Sandbox written in C
C
Opengl
Sdl
52
Voxel generator based on perlin 3D noise | Python OpenGL
Python
Glsl
Opengl
glm minecraft normal-mapping numpy opengl330 parallax-effect perlin-noise perlin-terrain pyopengl shaders shadows voxel-engine world-generator 53
Voxel Game Testing
C++
Glsl
Opengl
54
Minecraft clone in the browser, from scratch, without libraries, not something anybody didn't try before
Javascript
Webgl
es6 html5 minecraft open-world open-world-game openworld voxel-engine voxel-game 55
An efficient and easy to use voxel framework for Unity.
C#
Unity
56
A module for voxel support in Garry's Mod
C++
Other
cross-platform entity-management-system garrys-mod garrysmod glua gm-voxelate infinite-world module voxel-engine voxel-generator 57
Open source voxel game made in C using Raylib.
C
58
A course on making the easiest to understand voxel engine (in Unity) using the C#JobSystem.
Unity
59
Mount fuji: Java Voxel Engine
Java
60
A collection of voxel mesh generation algorithms
C++
Unreal-engine
61
Particubes is a platform dedicated to voxel games, games made out of little cubes.
Css
62
Experimental voxel engine that uses dual contouring written in rust
Rust
3d-graphics dual-contouring procedural-generation voxel-engine 63
A curated list of awesome opensource voxel tools, libraries, games, and other cool stuffs
64
Retro Craft a mini minecraft clone without libraries with an 80's theme
Java
65
Zepha30/11/2018
3 months ago
A powerful, extensible Voxel Game with immense modding possibilities.
C
Other
66
Archived Unity voxel project. GNU General Public License v3.0.
C#
Unity
67
Voxel Engine written in Unity 5.6 and C#
C#
Unity
68
Minecraft like voxel world made with Unity.
C#
Unity
69
WebMC22/06/2019
this week
A web version of Minecraft built using js and WebGL without third party libraries.
Javascript
Webgl
3d-game browser browser-minecraft game-development minecraft-web voxel-game voxel-terrain web web-component web-minecraft 70
Minimal Minecraft clone in UE4
C++
Unreal-engine
71
Voxel shatter physics in Unity.
Unity
72
Lightweight voxel geometry and boolean voxel operations for grasshopper
C#
grasshopper3d rhino3d rhinoceros rhinocommon voxelization voxelizer 73
Playing Minecraft with Behavioural Cloning Ville Hautamäki, Janne Karttunen, Anssi KanervistoMineRL 2019 competition challenged participants to train sample-efficient agents to play Minecraft, by using a dataset of human gameplay and a limit number of steps the environment. We approached this...
Python
Keras
imitation-learning neural-networks minecraft
74
Playing Atari with Deep Reinforcement Learning Martin Riedmiller, David Silver, Volodymyr Mnih, Koray Kavukcuoglu, Ioannis Antonoglou, Daan Wierstra, Alex GravesWe present the first deep learning model to successfully learn controlpolicies directly from high-dimensional sensory input using reinforcementlearning. The model is a convolutional neural network, trained...
Asynchronous Methods for Deep Reinforcement Learning Adrià Puigdomènech Badia, Volodymyr Mnih, Koray Kavukcuoglu, Mehdi Mirza, David Silver, Tim Harley, Timothy P. Lillicrap, Alex GravesWe propose a conceptually simple and lightweight framework for deepreinforcement learning that uses asynchronous gradient descent for optimizationof deep neural network controllers. We present asynchronous...
Python
Pytorch
75
Ave25/05/2018
5 months ago
Voxel based world generation in Rust
Rust
Glsl
Opengl
76
An infinite world block adventure game. Inspired by InfiniMiner/Minecraft.
C++
game-development linux multiplayer stonecraft voxel-engine voxel-game 77
Voxel Engine is game engine based on voxel. The goal is to have a engine that can load map composed of chunks that contained voxel. This implies many problems of memory managing in order to not load all chunk of the map in RAM. Another problem is the transfer between de CPU data and GPU.
C++
Opengl
78
Deep learning on 3D meshes via model simplification
Jupyter
79
Re implement Comanche's voxel space terrain rendering algorithm with csharp
C#
comanche game-comanche rendering-algorithm rendering-engine voxel-engine 80
Experimental 3D voxel engine, uses different derivatives of dual contouring algorithm
C++
C
81
Minecraft AI "city" generator using a Tensorflow GAN.
Python
82
Open source,High performance,Cross platform,Beautiful 3D voxel game.
C++
83
Dust08/03/2021
5 months ago
An in development voxel game engine written in Rust.
Rust
84
Nick Gildea Dual Contouring Java LWJGL implementation
Java
Opengl
chunked chunked-lod dual-contouring lwjgl oreon-engine voxel-terrain 85
Kube10/04/2017
2 years ago
Simple minecraft like game and rendering engine based on OpenGL.
C
Opengl
game-engine glfw procedural-generation rendering-engine voxel-engine 87
LAB04/08/2020
2 months ago
3D voxel engine written in C
C
88
A voxel engine written in C# using Unity3D
C#
Unity
89
Use greedy algorithm to optimize voxel mesh (Minecraft like game)
C#
90
A Unity voxel framework that is built for Unity and flexibility
C#
Unity
91
Voxel map editor with web assembly build support
C++
Opengl
chrome chrome-tracing ecs emscripten entity-component-system imgui linux open-source opengl-es opengl-es30 profiling voxel-engine wasm web-assembly 92
Simple Minecraft like voxel engine in C++.
C
93
A voxel editor in the browser.
Javascript
Three-js
94
A Blender add on for procedural voxelization of meshes with cross secton viewing
Python
3d addon blender blender-addon block block-on geometry-nodes procedural voxelizer 95
A Minecraft like voxel engine, written in C++.
C++
Cmake
Opengl
96
A Javascript library for rendering 2.5D scenes.
Javascript
game-library oldschool-graphics ray-tracing raycasting-engine render-engine rendering-2d-graphics voxel-engine voxelspace 97
Comanche's Voxel Space rendering algorithm written in C using SDL.
C
Sdl
comanche emscripten rendering-algorithm rendering-engine voxel-engine voxel-space 98
Minecraft like voxel engine developed for browser in Javascript with Three.JS
Javascript
Three-js
99
Golang OpenGL (voxel) engine, something to play around with
Go
Sdl
100
A Minecraft inspired voxel engine I am developing from scratch for fun and practice. Might be turned into game at some point if I get that far
C
101
Cubic voxel rendering
C++
Opengl
102
Voxel Rendering using UrhoSharp
C#
103
Java/LWJGL pathtracer based on the paper "Efficient Sparse Voxel Octrees" by Samuli Laine and Tero Karras.
Java
104
A, Minecraft inspired, voxel engine and game that uses Vulkan to render.
C++
105
A simple voxel engine that creates procedural worlds with Javascript and Three.JS
Javascript
106
Group Project
C#
alien fun game-development generation godot lima open-source planet procedural-generation procedural-terrain terraform university-project video-game voxel-terrain 107
GenWorld a procedural generation toolkit for the "Unity" game engine. Allows you to procedurally generate content for a scene from voxels. Uses various algorithms and methods where you can change the frequency of appearance, size and color of voxel models.
C#
Unity
generation-algorithm procedural-generation scene-generation voxel-models voxel-terrain wavefunctioncollapse 108
Infinite voxel landscape engine
C++
Opengl
109
3D model voxelizer for deep learning applications (e.G. 3D CNN) in additive manufacutring (3D printing)
C++
3d-printing additive-manufacturing boost-library cgal-library hdf5 voxelizer 110
Annotated Minecraft Dialogues from Communicating with Computers
111
Voxel Based engine implementation using the NOVA API
Java
112
Q: What if Minecraft but every pixel was a voxel? A: Worse performance, probably.
Javascript
Webgl
3d experiment experimental game-engine minecraft voxel-engine 113
A simple voxel game written in C++ using OpenGL.
C++
Opengl
Sdl
115
Voxels prototype in Unity
C#
Unity
116
Convert md2 models to voxels
Pascal
117
Massively Parallel Gravitational Potential Calculator and Voxelizer Python Interface
Python
Opencl
cad electric-potential gravitational-potential massively-parallel obj physics physics-simulation potentials pyopencl voxelizer 118
Software for modeling and visualisation of phantom with an arbitrary posture
C++
3d-modeling radiation radiation-physics radiation-safety voxel-engine 119
Procedurally generated world simulator
C++
120
Voxel Engine written in C# for Unity.
C#
Unity
121
Voxel Engine for procedural generation of caves, implemented from scratch in C++ with OpenGL and GLSL. Made in the course TNM084 Procedural methods for images at Linkping University.
C++
Glsl
Opengl
122
Core10/01/2020
1 month ago
Easily create voxel experiences in the browser!
Typescript
124
Just for fun voxel game coded on typescript on top of WebGL
Typescript
Javascript
Webgl
es6 game-development game-engine javascript-game voxel-engine voxel-game webgl-computer-graphics webgl-game webgl2-engine 126
Open source voxel game base C# specification
C#
127
Minecraft like voxel engine. Currently in development.
C
128
A toy 3D game engine with voxel support
C
Directx
Opengl
129
A simple mesh voxelizer written in rust
Rust
130
Simple voxelizer make use of CPU SIMD units
C++
Other
131
Convert 3D polygonal models into a regular cartesian mesh
C++
Python
133
An open source web based voxel based game. The name might change (see #1).
Typescript
Javascript
134
Universal voxel space standard library
C++
C#
137
Fully path traced Minecraft using the Optix SDK
C++
Cuda
138
Loxel15/04/2018
1 month ago
C++
Opengl
Sdl
140
Voxel game engine
C++
Opengl
141
Voxel Engine Development with OpenGL and Modern C++
Html
Opengl
142
A reasonably high performance, multi threaded, badly procedural voxel world renderer
C++
143
Otrt14/03/2019
1 years ago
Sparse Voxel OctTree Ray Tracing in Scala(JS)
Scala
144
Open source voxel game for the Nintendo Wii, written in C
C
devkitppc devkitpro game-engine homebrew nintendo-wii voxel-engine wii 145
Voxel Game Engine using OpenGL, created as a project to practice C++ and graphics programming.
C
Opengl
146
Plastic Inquisitor is a sandbox RPG rendered in 3D using ASCII art.
C++
147
A voxel engine made with gl.H and pure C
C
Cmake
148
Yave14/12/2021
2 months ago
Fast and safe voxel engine written in rust.
Rust
linux macos rust-lang voxel-engine web-assembly wgpu windows 149
My voxel library implemented in C
C
150
Voxel28/11/2019
1 years ago
WIP voxel container, chunks, voxel dict and voxel mesher
C++
Glsl
blocky entt glm minecraft smart-voxel-container voxel-mesher voxel-terrain 151
Convert from vtkPolyData to vtkImageData.
Python
153
Contains : Knowledge database, Corpus of Questions, Ontology of the MR
158
Personal project with the goals of 1) creating a basic voxel game engine and 2) building a life simulator on top of that engine.
C++
159
A moddable 3D drawing/painting sandbox game that uses colored cubes and blocks
C++
Opengl
blocks creativity crystalvulpine cube cubes open-world open-world-game openworld sandbox sandbox-game sandbox-playground shaders supports-mods voxel-engine voxelplanet 160
Minecraft but mine and in C++ :)
C++
Opengl
161
Cmine23/01/2022
1 month ago
Minecraft like game made in C and OpenGL
C
Opengl
162
OpenGL/Vulkan based graphics engine.
C++
C#
Glsl
Opengl
163
A voxel engine using the programmable OpenGL 3+ pipeline in Java. (LWJGL) (original Minecraft).
Java
Opengl
164
Small voxel engine supporting ~16.7 million voxels, w/ a hydraulic erosion simulation approach to terrain generation
C++
Opengl
165
Cubz16/06/2019
2 years ago
Cubz Cross Platform C++ Voxel Engine
C++
Opengl
166
Website for cppvoxel
Html
167
OpenGL Voxelworld tech demo
C++
Opengl
168
Game of Flags
Java
Opengl
a-star-algorithm animation neural-networks computer-graphics libgdx q-learning reinforcement-learning shaders simplex-noise voxel-engine 169
A voxel rendering engine written in Metal
Objective-c
3d 3d-graphics 3d-graphics-engine render rendering rendering-engine voxel-engine 170
OpenGL & Java 11 Voxel Engine
Java
Opengl
171
Voxel engine made in Rust with wgpu.
Rust
172
Panorama generator written in Julia (unfinished attempt) using SRTM data as input
Julia
173
WebVR support for WebVoxel projects
Typescript
game-development game-engine virtual-reality voxel-engine vr webvr-support 174
Voxelmap Editor
Javascript
175
A random voxel terrain generator
C#
176
World generator for Terra
Java
177
A godot based game
Gdscript
game-development godot minecraft-clone opensimplexnoise voxel-terrain 178
My implementation of the marching cube algorithm to meshify scalar fields in the Unity game engine
C#
Unity
179
A Rust port of karimnaaji's C Voxelizer
C