The file format and the SDK is Open Source and free as in free beer! Licensed under MIT license.
Embeddable on webpages
With the WebGL polyfill, you can include Model 3D files in webpages just like normal 2D images! Hint: drag the images below!
<img src="cube.m3d" width="300" height="300">
<img src="suzanne.m3d" width="300" height="300">
<img src="voxelimg.m3d" width="300" height="300">
Easy to use Software Development Kit
- The M3D SDK is an stb-style, dependency-free single header file written in ANSI C89, licensed under MIT.
- If you prefer, the SDK can provide a C++11 wrapper class around the C API, or you can write your own.
- You can configure the SDK using defines to add ASCII format support or model exporting functionality.
- You don't have to worry about the textures, the SDK will decompress PNG textures for you on its own (no library needed).
- Unlike other 3D model SDKs, the in-memory format is simple, your code that interfaces with it can be extremely simple.
- Follows the K.I.S.S. principle, there're only 5 functions in the API.
- The API manual provides you with detailed description and SDK usage examples.
- You can integrate the m3dconv utility into your build environment to convert foreign models in compilation time.
- There's a simple model viewer, which demonstrates how to display animated models using the M3D SDK.
Convert Anything into Model 3D
- The Blender plugin makes it possible to directly save models into Model 3D format.
- With the m3dconv command line tool you can convert almost any existing model into Model 3D easily:
- Fully supports Wavefront OBJ (including negative indices, Bezier curves / surfaces, B-spline and NURBS), and a STEP (ISO-10303-21-4 / ISO-10303-24-2) file importer is on the way.
- Simple text files with skeletal animations using Milkshape 3D (this is a very simple format, similar to OBJ, widely supported and damn easy to create programatically).
- Voxel images, like BINVOX files, Minecraft Schematic files, Magicavoxel VOX files and Qubicle QB files can be converted too efficiently.
- FBX support via the uFBX library (included).
- Other supported formats via Assimp (not included, dinamically linked): GLTF, GLB, 3DS, 3DS MAX, X, ASE, BLEND, COLLADA (DAE), B3D, MS3D, MD5, MESH, STL, PLY and many many more...
- When running into problems with loading a specific model, you can use the web based Model 3D file validator, or run m3dconv -D natively on your local computer.
Projects using Model 3D
- raylib a multiplatform, simple and easy-to-use programming library to enjoy videogames programming.
- mtsedit a Minetest Schematic editor, which can import Model 3D voxel files.
- TirNanoG an Action and Adventure RPG creation suite, which can generate 2D sprite sheets from Model 3D files.
- Mach game engine and graphics toolkit for the future.