weflowers / voxelizer

Header only mesh voxelizer in c99

Home Page:http://karim.naaji.fr/projects/voxelizer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mesh voxelizer

Header only mesh voxelizer in ANSI C

About

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

How to use

Include the header only file as following once:

#define VOXELIZER_IMPLEMENTATION
#include "voxelizer.h"

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

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);

TODO

  • 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

About

Header only mesh voxelizer in c99

http://karim.naaji.fr/projects/voxelizer


Languages

Language:C 50.9%Language:C++ 48.9%Language:Makefile 0.1%