Aspose.3D FOSS for Java is a MIT-licensed, pure-Java library for working with 3D file formats. Add a single Maven dependency and immediately start reading, constructing, and writing 3D scenes without installing any native runtime, external SDK, or third-party renderer.
The library exposes a clean scene-graph API built around Scene, Node, Mesh, Camera, and Transform, the same conceptual model used by professional 3D tools. Format support includes OBJ (with .mtl material loading), STL (binary and ASCII, roundtrip verified), glTF 2.0 (PBR materials), GLB (binary glTF), and FBX (import only). Per-format load and save options let you control coordinate flipping, scale, normal normalization, and material loading without writing any format-specific parsing code.
Aspose.3D FOSS requires Java 21 or later and runs identically on Windows, macOS, and Linux CI runners, Docker containers, and serverless environments. There is no native extension to compile and no system package to install.
GltfSaveOptions. Use setContentType(FileContentType.BINARY) for GLB output.Scene, Node, Mesh, Camera, Transform.ObjLoadOptions.setNormalizeNormal()).Aspose.3D FOSS for Java installs with a single Maven dependency (com.aspose:aspose-3d-foss:26.1.0). The library is pure Java, with no native extensions to compile and no system packages to install.
The scene-graph API mirrors the conceptual model of professional 3D tools, so the learning curve is short for anyone familiar with Three.js or Blender’s data model. The library is MIT-licensed, open-source, and welcomes bug reports and contributions on GitHub.
Add the Maven dependency, then call Scene.fromFile("model.obj") to load the OBJ file together with its MTL material definitions. A single scene.save() call with a .gltf extension writes a glTF 2.0 JSON file, with no format registry or converter object needed.
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-3d-foss</artifactId>
<version>26.1.0</version>
</dependency>
import com.aspose.threed.*;
// Load an OBJ file (with .mtl materials)
Scene scene = Scene.fromFile("model.obj");
// Export as glTF 2.0
scene.save("model.gltf");
To produce a glTF file with coordinate-system adjustments, pass a GltfSaveOptions instance with setFlipCoordinateSystem(true). The same pattern applies to all per-format options — swap out the options class for the format you are targeting.
import com.aspose.threed.*;
Scene scene = new Scene();
scene.open("mesh.stl");
// Save as glTF with options
GltfSaveOptions opts = new GltfSaveOptions();
opts.setFlipCoordinateSystem(true);
opts.setPrettyPrint(true);
scene.save("mesh.gltf", opts);
It is a free, MIT-licensed pure-Java library for loading, manipulating, and saving 3D scenes without installing any native runtime or external SDK.
OBJ (with .mtl), STL (binary and ASCII), glTF 2.0, GLB (binary glTF), and FBX (import only). Each format has a dedicated load/save options class.
No. Aspose.3D FOSS for Java is pure Java with zero native extensions. It runs on Windows, macOS, and Linux without any compilation step.
Add the Maven dependency com.aspose:aspose-3d-foss:26.1.0 to your project. No additional system packages or native extensions are required.
Yes. Per-format option classes let you flip axes, adjust scale, and normalize normals without writing any format-specific parsing code.
Java 21 and later are supported. The library runs identically on all major operating systems.
Yes. The library is MIT-licensed and hosted on GitHub. Bug reports and pull requests are welcome.