karimnaaji / 3d Quickhull
Licence: mit
Header only 3d quickhull in c99
Stars: ✭ 259
Programming Languages
c99
33 projects
Projects that are alternatives of or similar to 3d Quickhull
Voxelizer
Header only mesh voxelizer in c99
Stars: ✭ 487 (+88.03%)
Mutual labels: computer-graphics, geometry-processing
go-icp cython
Go-ICP for globally optimal 3D pointset registration
Stars: ✭ 79 (-69.5%)
Mutual labels: computer-graphics, geometry-processing
Melt
Automatic conservative mesh occluder generation by box filling
Stars: ✭ 105 (-59.46%)
Mutual labels: computer-graphics, geometry-processing
Cinolib
A generic programming header only C++ library for processing polygonal and polyhedral meshes
Stars: ✭ 407 (+57.14%)
Mutual labels: computer-graphics, geometry-processing
Softras
Project page of paper "Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning"
Stars: ✭ 715 (+176.06%)
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 (+294.21%)
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 (-44.02%)
Mutual labels: computer-graphics, geometry-processing
gproshan
geometry processing and shape analysis framework
Stars: ✭ 48 (-81.47%)
Mutual labels: geometry-processing
creative-production-coding
⚙️ Coding for creative productions.
Stars: ✭ 14 (-94.59%)
Mutual labels: computer-graphics
stumpy core
Core components for working with images
Stars: ✭ 28 (-89.19%)
Mutual labels: computer-graphics
DOT
Decomposed Optimization Time Integration (DOT) is a domain-decomposed optimization method for fast, reliable simulation of deformation dynamics. DOT efficiently converges with frame-rate time-steps across a wide range of extreme conditions.
Stars: ✭ 37 (-85.71%)
Mutual labels: computer-graphics
Book-list-of-computational-geometry-and-computer-graphics
Book list of computational geometry and computer graphics 计算几何和计算机图形学必读书单与经典书籍
Stars: ✭ 374 (+44.4%)
Mutual labels: computer-graphics
awesome-glsl
🎇 Compilation of the best resources to learn programming OpenGL Shaders
Stars: ✭ 700 (+170.27%)
Mutual labels: computer-graphics
PbfVs
Implementation of Macklin, Miles, and Matthias Müller. "Position based fluids.". Visual Studio 2015 + CUDA 8.0
Stars: ✭ 100 (-61.39%)
Mutual labels: computer-graphics
OpenGL MPMSnowSimulation2D
2D Implementation of Material Point Method for Snow Simulation
Stars: ✭ 26 (-89.96%)
Mutual labels: computer-graphics
3D-Engine-OpenGL-4
3D Graphics Engine For Games | C++ OpenGL 4.1
Stars: ✭ 19 (-92.66%)
Mutual labels: geometry-processing
trace.moe-media
Media server for serving video preview for trace.moe
Stars: ✭ 28 (-89.19%)
Mutual labels: computer-graphics
SuperShapes
A tiny macOS app showing how to use Satin, Forge, Youi and SwiftUI to visualize super shapes in 3D.
Stars: ✭ 42 (-83.78%)
Mutual labels: computer-graphics
3d-quickhull
Header only 3d quickhull in ANSI C
Usage
To use this library, simply include quickhull.h
once with the QUICKHULL_IMPLEMENTATION
define in a .cpp
file.
#define QUICKHULL_IMPLEMENTATION
#include "quickhull.h"
The usage of the library is quite simple, generate or gather a set of points, and call qh_quickhull3d
. The result is a mesh with a set of indexed normals and vertices ready to upload in a GPU.
const int n = 100;
qh_vertex_t vertices[n];
for (int i = 0; i < n; ++i) {
float a0 = (rand_0_1() * M_PI * 2);
float a1 = (rand_0_1() * M_PI * 2);
vertices[i].z = sin(a0) * radius;
vertices[i].x = cos(a1) * cos(a0) * rand_0_1();
vertices[i].y = sin(a1) * cos(a0) * rand_0_1();
}
qh_mesh_t mesh = qh_quickhull3d(vertices, n);
// ...
qh_free_mesh(mesh);
Example
- Open Frameworks wrapper: https://github.com/satcy/ofx3DQuickHull
- Obj to hull: https://github.com/karimnaaji/3d-quickhull/blob/master/example/command_line.cpp
If you're interested in low-polygon rendering, using quickhull as a base for mesh triangulation can give such results:
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].