All Projects → karimnaaji → Voxelizer

karimnaaji / Voxelizer

Header only mesh voxelizer in c99

Programming Languages

c
50402 projects - #5 most used programming language
c99
33 projects

Projects that are alternatives of or similar to Voxelizer

Cinolib
A generic programming header only C++ library for processing polygonal and polyhedral meshes
Stars: ✭ 407 (-16.43%)
Mutual labels:  computer-graphics, geometry-processing
Softras
Project page of paper "Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning"
Stars: ✭ 715 (+46.82%)
Mutual labels:  computer-graphics, geometry-processing
go-icp cython
Go-ICP for globally optimal 3D pointset registration
Stars: ✭ 79 (-83.78%)
Mutual labels:  computer-graphics, geometry-processing
Pifu
This repository contains the code for the paper "PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization"
Stars: ✭ 1,021 (+109.65%)
Mutual labels:  computer-graphics, geometry-processing
Melt
Automatic conservative mesh occluder generation by box filling
Stars: ✭ 105 (-78.44%)
Mutual labels:  computer-graphics, geometry-processing
Optcuts
OptCuts, a new parameterization algorithm, jointly optimizes arbitrary embeddings for seam quality and distortion. OptCuts requires no parameter tuning; automatically generating mappings that minimize seam-lengths while satisfying user-requested distortion bounds.
Stars: ✭ 145 (-70.23%)
Mutual labels:  computer-graphics, geometry-processing
3d Quickhull
Header only 3d quickhull in c99
Stars: ✭ 259 (-46.82%)
Mutual labels:  computer-graphics, geometry-processing
Easy3d
A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data
Stars: ✭ 383 (-21.36%)
Mutual labels:  computer-graphics
Directxmesh
DirectXMesh geometry processing library
Stars: ✭ 447 (-8.21%)
Mutual labels:  geometry-processing
Anycost Gan
[CVPR 2021] Anycost GANs for Interactive Image Synthesis and Editing
Stars: ✭ 367 (-24.64%)
Mutual labels:  computer-graphics
Vctrenderer
A real time global illumination solution that achieves glossy surfaces, diffuse reflection, specular reflection, ambient occlusion, indirect shadows, soft shadows, emissive materials and 2-bounce GI. Published here http://ieeexplore.ieee.org/abstract/document/7833375/
Stars: ✭ 353 (-27.52%)
Mutual labels:  computer-graphics
Igan
Interactive Image Generation via Generative Adversarial Networks
Stars: ✭ 3,845 (+689.53%)
Mutual labels:  computer-graphics
Open3d
Open3D: A Modern Library for 3D Data Processing
Stars: ✭ 5,860 (+1103.29%)
Mutual labels:  computer-graphics
Tinyraytracer
A brief computer graphics / rendering course
Stars: ✭ 3,971 (+715.4%)
Mutual labels:  computer-graphics
Coherent Line Drawing
🖼✨Automatically generates line drawing from a photograph
Stars: ✭ 461 (-5.34%)
Mutual labels:  computer-graphics
Selectiongan
[CVPR 2019 Oral] Multi-Channel Attention Selection GAN with Cascaded Semantic Guidance for Cross-View Image Translation
Stars: ✭ 366 (-24.85%)
Mutual labels:  computer-graphics
Rust Sloth
A 3D software rasterizer... for the terminal!
Stars: ✭ 478 (-1.85%)
Mutual labels:  computer-graphics
Primrose
A syntax-highlighting text editors that renders to an HTML5 Canvas
Stars: ✭ 451 (-7.39%)
Mutual labels:  computer-graphics
Towr
A light-weight, Eigen-based C++ library for trajectory optimization for legged robots.
Stars: ✭ 410 (-15.81%)
Mutual labels:  computer-graphics
Atlasnet
This repository contains the source codes for the paper "AtlasNet: A Papier-Mâché Approach to Learning 3D Surface Generation ". The network is able to synthesize a mesh (point cloud + connectivity) from a low-resolution point cloud, or from an image.
Stars: ✭ 450 (-7.6%)
Mutual labels:  geometry-processing

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].