sdf - Simple SDF mesh generation in Python

  •        327

Generate 3D meshes based on SDFs (signed distance functions) with a dirt simple Python API. Here is a complete example that generates the model shown. This is the canonical Constructive Solid Geometry example. Note the use of operators for union, intersection, and difference.

https://github.com/fogleman/sdf

Tags
Implementation
License
Platform

   




Related Projects

phobos - An add-on for Blender allowing to create URDF, SDF and SMURF robot models in a WYSIWYG environment

  •    Python

Phobos is an add-on for the open-source 3D modeling software Blender that enables the creation of WYSIWYG robot models for use in robot frameworks like ROS and ROCK or in real-time simulations such as MARS or Gazebo. Phobos exports formats such as URDF, SDF or SMURF and common mesh formats (Stereolithography (.stl), Wavefront (.obj) or Collada (.dae)). Phobos was initiated and is currently developed at the Robotics Innovation Center of the German Research Center for Artificial Intelligence (DFKI) in Bremen, together with the Robotics Group of the University of Bremen.

Jmol

  •    Java

An interactive viewer for three-dimensional chemical structures.

Slic3r - Open Source toolpath generator for 3D printers

  •    C++

Slic3r is mainly a toolpath generator for 3D printers: it reads 3D models (STL, OBJ, AMF, 3MF) and it converts them into G-code instructions for 3D printers. But it does much more than that, see the features list below. Slic3r was born in 2011 within the RepRap community and thanks to its high configurability became the swiss-army knife for 3D printing. It served as a platform for experimenting several new ideas that later became technology standards, such as multiple extruders, brim, variable-height layers, per-object settings, modifiers, post-processing scripts, G-code macros and more. Despite being based on volunteer efforts, Slic3r is still pushing the boundaries of 3D printing.

intrinsic3d - Intrinsic3D - High-Quality 3D Reconstruction by Joint Appearance and Geometry Optimization with Spatially-Varying Lighting (ICCV 2017)

  •    C++

Copyright (c) 2019, NVIDIA Corporation and Technical University of Munich. All Rights Reserved. The Intrinsic3D source code is available under the BSD license, please see the LICENSE file for details. All data in the Intrinsic3D Dataset is licensed under a Creative Commons 4.0 Attribution License (CC BY 4.0), unless stated otherwise. Intrinsic3D is a method to obtain high-quality 3D reconstructions from low-cost RGB-D sensors. The algorithm recovers fine-scale geometric details and sharp surface textures by simultaneously optimizing for reconstructed geometry, surface albedos, camera poses and scene lighting.

Easy3D - A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data

  •    C++

Efficient data structures for representing and managing 3D models such as point clouds, polygonal surfaces (e.g., triangle meshes), polyhedral volumes (e.g., tetrahedral meshes), and graphs. Easy to add/access arbitrary types of per-element properties. Non-manifoldness is automatically resolved when loading models from files ... A set of widely used algorithms, e.g., point cloud normal estimation/re-orientation, Poisson surface reconstruction, RANSAC, mesh simplification, subdivision, smoothing, parameterization, remeshing, and more (the implementation of several surface mesh processing algorithms were taken from PMP).


hmm - Heightmap meshing utility.

  •    C

hmm is a heightmap meshing utility. If you've done any 3D game development, 3D printing, or other such things, you've likely wanted to convert a grayscale heightmap image into a 3D mesh. The naive way is pretty simple but generates huge meshes with millions of triangles. After hacking my way through various solutions over the years, I finally decided I needed to write a good tool for this purpose.

glyphy

  •    C++

GLyphy is a signed-distance-field (SDF) text renderer using OpenGL ES2 shading language. The main difference between GLyphy and other SDF-based OpenGL renderers is that most other projects sample the SDF into a texture. This has all the usual problems that sampling has. Ie. it distorts the outline and is low quality.

differentiable_volumetric_rendering - This repository contains the code for the CVPR 2020 paper "Differentiable Volumetric Rendering: Learning Implicit 3D Representations without 3D Supervision"

  •    Python

This repository contains the code for the paper Differentiable Volumetric Rendering: Learning Implicit 3D Representations without 3D Supervision. You can find detailed usage instructions for training your own models and using pre-trained models below.

Silverlight 3D Model Importer

  •    

Silverlight 3D Model Importer allows to work with models processed using Xna Content Pipeline inside a Silverlight 5 (beta) project. It includes all vertex / index buffers data, as well, as textures, bones and mesh / mesh parts info, and provide easy methods to render in SL

CuraEngine - CuraEngine is a powerful, fast and robust engine for processing 3D models into 3D printing instruction for Ultimaker and other GCode based 3D printers

  •    C++

The CuraEngine is a C++ console application for 3D printing GCode generation. It has been made as a better and faster alternative to the old Skeinforge engine. This is just a console application for GCode generation. For a full graphical application look at https://github.com/Ultimaker/Cura which is the graphical frontend for CuraEngine.

3detr - Code & Models for 3DETR - an End-to-end transformer model for 3D object detection

  •    Python

PyTorch implementation and models for 3DETR. 3DETR (3D DEtection TRansformer) is a simpler alternative to complex hand-crafted 3D detection pipelines. It does not rely on 3D backbones such as PointNet++ and uses few 3D-specific operators. 3DETR obtains comparable or better performance than 3D detection methods such as VoteNet. The encoder can also be used for other 3D tasks such as shape classification. More details in the paper "An End-to-End Transformer Model for 3D Object Detection".

svg-mesh-3d - :rocket: converts a SVG path to a 3D mesh

  •    Javascript

A high-level module to convert a SVG <path> string into a 3D triangulated mesh. Best suited for silhouettes, like font icon SVGs.Built on top of cdt2d by @mikolalysenko, and various other modules.

NASA-3D-Resources - Here you'll find a growing collection of 3D models, textures, and images from inside NASA

  •    Mathematica

Welcome to the 3D Resources github site. Here you'll find a growing collection of 3D models, textures, and images from inside NASA. All of these resources are free to download and use. Our team's goal is to provide a one-stop shop for 3D models, images, textures, and visualizations. We offer these assets for your use, free and without copyright. We recognize that the site is only as good as its contributors and thank them kindly.

eos - A lightweight 3D Morphable Face Model fitting library in modern C++11/14

  •    C++

eos is a lightweight 3D Morphable Face Model fitting library that provides basic functionality to use face models, as well as camera and shape fitting functionality. It's written in modern C++11/14. An experimental model viewer to visualise 3D Morphable Models and blendshapes is available here.

Mesh Diagram 3D

  •    

A .NET library that allows to visualize mesh diagrams in 3D. This library uses WPF 3D features to display mesh diagrams. It provides simple API and user controls. Sample application that utilize this library is included with the library package.

draco - Draco is a library for compressing and decompressing 3D geometric meshes and point clouds

  •    C++

Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.Draco was designed and built for compression efficiency and speed. The code supports compressing points, connectivity information, texture coordinates, color information, normals, and any other generic attributes associated with geometry. With Draco, applications using 3D graphics can be significantly smaller without compromising visual fidelity. For users, this means apps can now be downloaded faster, 3D graphics in the browser can load quicker, and VR and AR scenes can now be transmitted with a fraction of the bandwidth and rendered quickly.

3dmatch-toolbox - 3DMatch - a 3D ConvNet-based local geometric descriptor for aligning 3D meshes and point clouds

  •    C++

Matching local geometric features on real-world depth images is a challenging task due to the noisy, low-resolution, and incomplete nature of 3D scan data. These difficulties limit the performance of current state-of-art methods, which are typically based on histograms over geometric properties. In this paper, we present 3DMatch, a data-driven model that learns a local volumetric patch descriptor for establishing correspondences between partial 3D data. To amass training data for our model, we propose an unsupervised feature learning method that leverages the millions of correspondence labels found in existing RGB-D reconstructions. Experiments show that our descriptor is not only able to match local geometry in new scenes for reconstruction, but also generalize to different tasks and spatial scales (e.g. instance-level object model alignment for the Amazon Picking Challenge, and mesh surface correspondence). Results show that 3DMatch consistently outperforms other state-of-the-art approaches by a significant margin. This code is released under the Simplified BSD License (refer to the LICENSE file for details).

vedo - A python module for scientific analysis of 3D objects based on VTK and numpy

  •    Python

vedo is a lightweight and powerful python module for scientific analysis and visualization of 3d objects. Inspired by the vpython manifesto "3D programming for ordinary mortals", vedo makes it easy to work with 3D pointclouds, meshes and volumes, in just a few lines of code, even for less experienced programmers.

FreeCAD - An Open Source parametric 3D CAD modeler

  •    C++

FreeCAD is a general purpose feature-based, parametric 3D modeler for CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and product design but also fits a wider range of uses in engineering, such as architecture or other engineering specialties. FreeCAD is based on OpenCASCADE, a powerful geometry kernel, features an Open Inventor-compliant 3D scene representation model provided by the Coin 3D library, and a broad Python API.

cupoch - Robotics with GPU computing

  •    C++

Cupoch is a library that implements rapid 3D data processing for robotics using CUDA. The goal of this library is to implement fast 3D data computation in robot systems. For example, it has applications in SLAM, collision avoidance, path planning and tracking. This repository is based on Open3D.