|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Meshio||1,485||30||85||22 days ago||212||March 11, 2022||127||mit||Python|
|:spider_web: input/output for many mesh formats|
|Fbx2gltf||1,293||3||5||2 years ago||10||September 11, 2019||87||other||C++|
|A command-line tool for the conversion of 3D model assets on the FBX file format to the glTF file format.|
|Tinyply||447||a month ago||14||C++|
|:earth_africa: C++11 ply 3d mesh format importer & exporter|
|Fold||257||3||3||13 days ago||23||August 20, 2021||29||mit||CoffeeScript|
|FOLD file format for origami models, crease patterns, etc.|
|Happly||143||a year ago||8||mit||C++|
|A C++ header-only parser for the PLY file format. Parse .ply happily!|
|Mdal||126||a month ago||59||mit||Roff|
|Mesh Data Abstraction Library|
|3rscan||103||a year ago||2||mit||C++|
|Assimp||75||2 years ago||1||October 09, 2016||9||other||COBOL|
|JVM Open Asset Import Library (Assimp)|
|Openctm||66||3 years ago||3||zlib||C|
|OpenCTM is a file format, a software library and a tool set for compression of 3D triangle meshes. The geometry is compressed to a fraction of comparable file formats (3DS, STL, COLLADA...), and the format is accessible through a simple, portable API|
|Obj2png||51||3 months ago||1||mit||Python|
|Python script for converting 3D triangular mesh (obj) to image file (png) with MatPlotLib|
|GCC + Clang|
A single-header, zero-dependency (except the C++ STL) public domain implementation of the PLY mesh file format. An overview and definition of the file format is available here. This format is often used in the computer vision and graphics communities for its relative simplicity, ability to support arbitrary mesh attributes, and binary modes. Famously, PLY is used to distribute 3D models in the Stanford 3D Scanning Repository, including the bunny.
The library is written in C++11 and requires a recent compiler (GCC 4.8+ / VS2015+ / Clang 2.9+). Tinyply supports exporting and importing PLY files in both binary and ascii formats. Tinyply supports filesizes >= 4gb and can read big-endian binary files (but not write them).
The project comes with a simple example program demonstrating a circular write / read and all of the major API functionality.
Since 2015, tinyply has been used in hundreds of open-source projects including pointcloud tools, raytracers, synthetic data renderers, computational geometry libraries, and more. A few notable projects are highlighted below:
tinyply not what you're looking for? tinyply trades some performance for simplicity and flexibility. For domain-specific uses (e.g. where your application does not need to handle arbitrary user-fed PLY files), there are other speedier alternatives. For more, please check out the following benchmarks:
version 2.0is an API re-write to support later improvements towards variable length lists. One notable change is that tinyply now produces and consumes structured byte arrays, with type information held as metadata.
version 2.1contained minor bugfixes and speed improvements.
version 2.2is a rewrite of the inner read/write loop. Compared to
version 2.0, this version reads and writes binary about five times faster. When a list size hint is given for reading, the performance is approximately comparable to rply.
version 2.3contains minor bugfixes and performance improvements. A feature of the example application includes the ability to pre-load files into memory for improved runtime parsing performance on many files.
This software is in the public domain. Where that dedication is not recognized, you are granted a perpetual, irrevocable license to copy, distribute, and modify this file as you see fit. If these terms are not suitable to your organization, you may choose to license it under the terms of the 2-clause simplified BSD.