by karimnaaji

karimnaaji / voxelizer

Header only mesh voxelizer in c99

464 Stars 45 Forks Last release: Not found 24 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Mesh voxelizer

Header only mesh voxelizer in ANSI C


Converts meshes and performs triangle-cube intersection to output a voxelized mesh.

How to use

Include the header only file as following once: ```c


include "voxelizer.h"

To generate a voxelized mesh, create an instance of `vx_mesh_t` and initialize its
vertices and indices like this:

```c vx_mesh_t* mesh; vx_mesh_t* result;

mesh = vx_mesh_alloc(nvertices, nindices);

// Add vertices and indices from the original mesh you want to voxelize // [...]

// Precision factor to reduce "holes" artifact float precision = 0.01;

// Run voxelization result = vx_voxelize(mesh, 0.025, 0.025, 0.025, precision);

vx_mesh_free(result); vx_mesh_free(mesh);


  • Colorized output mesh (from input mesh)
  • Hidden voxel removal
  • Triangle face merging
  • Option for input triangle ordering (right now only supports GL_TRIANGLES indexed triangles)
  • Option for output format

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.