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. Developers requiring enterprise features and production support can use Aspose.3D for Java — Enterprise Product alongside these open-source libraries.GltfSaveOptions. Pass FileContentType.BINARY to its constructor for GLB output.Scene, Node, Mesh, Camera, Transform.ObjLoadOptions.setNormalizeNormal()).Aspose.3D FOSS for Java installs with a single Maven dependency (org.aspose:aspose-3d-foss:26.5.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>org.aspose</groupId>
<artifactId>aspose-3d-foss</artifactId>
<version>26.5.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 StlLoadOptions instance with setFlipCoordinateSystem(true) when opening the source STL file. The same pattern applies to all per-format load options — swap out the options class for the format you are targeting.
import com.aspose.threed.*;
Scene scene = new Scene();
StlLoadOptions loadOpts = new StlLoadOptions();
loadOpts.setFlipCoordinateSystem(true);
scene.open("mesh.stl", loadOpts);
// Save as glTF
GltfSaveOptions saveOpts = new GltfSaveOptions();
saveOpts.setPrettyPrint(true);
scene.save("mesh.gltf", saveOpts);
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 org.aspose:aspose-3d-foss:26.5.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.