the3deer/android-3D-model-viewer for Android model inspection
Android OpenGL 2.x/3.x application to view 3D models. Published on Play Store
At a glance
- What is it?
- the3deer/android-3D-model-viewer is a Java Android application for loading and inspecting OBJ, STL, DAE, GLTF, and FBX models through a custom OpenGL ES 2.0/3.0 engine. It suits users who need stereoscopic viewing, animation playback, geometry inspection, and model asset browsing on Android.
- Who is it for?
- Adopt the app when Android-based inspection of common 3D formats and stereoscopic views is the primary requirement. Do not treat it as a general authoring tool or assume that source builds are guaranteed compatible with every current Android environment.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 49 days ago.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 21, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Android 3D Model Viewer Does
the3deer/android-3D-model-viewer addresses the practical problem of opening 3D assets on Android without requiring a desktop workstation. It is aimed at users who want to inspect models, examine their structure, view animations, or check a scene on a phone or headset-compatible device. The README lists OBJ, STL, DAE, also identified as Collada, GLTF, and FBX as supported formats. That range covers common geometry exchange files as well as scene-oriented formats, although the repository description does not claim full editing or authoring support.
The project is an application, not merely a command-line converter. Its documented controls include wireframe display, skeleton visualization, bounding boxes, ray-cast selection, basic lighting, and normal mapping. It also provides anaglyph and stereoscopic rendering modes, including a mode intended for VR headsets. These features make it more useful for inspection than a basic file previewer, while still keeping the scope centered on viewing and analysis.
The application targets Android SDK 36 with a minimum SDK of 26 according to the 04/09/2026 news entry. The repository is not archived, and its last push was on 2026-09-04, so there is a recent development signal. Release 5.0.5, dated 2026-04-11, is described as a brand-new design with FBX support. The README also mentions version 5.1.0 in its news section, but the release list separately identifies 5.0.5 as the latest listed release, so users should check the actual distribution or repository state when matching versions.
The App and Engine Split
The repository uses a two-part structure. The `:app` module manages the Android application layer, including UI, state, and user interaction. The `:engine` directory is described as a standalone 3D engine submodule. This separation gives the project a clear boundary between Android interface concerns and rendering functionality, and it also points to a possible reuse path for developers who want more than the ready-made viewer.
The rendering foundation is a custom OpenGL ES 2.0/3.0 engine. The documentation says that the engine includes a scene graph and rendering pipeline, with additional API documentation in the linked `android-3D-engine` repository. The README does not provide the full class hierarchy or describe every shader stage, so a more detailed assessment of extension points would require reading the engine documentation and source. Based on the repository layout, however, the app is not a thin wrapper around a third-party viewer. It contains a project-specific engine module and parser dependencies listed in the credits.
The UI is built with Android Fragments, Navigation Component, and Material Design. The application documentation is specifically described as covering UI architecture and reactive data flow. That indicates that navigation and state handling are organized within the app layer, while model loading and rendering belong closer to the engine. This architecture matters to engineers because changes to import behavior, screen navigation, or interaction state may occur in different modules rather than in one renderer class.
Format Loading and Inspection Features
The documented format list gives the viewer a practical starting point for common 3D assets. OBJ and STL are direct geometry-oriented choices, DAE supports Collada documents, GLTF supports a scene-oriented format, and FBX support is highlighted in the 5.0.5 release description. The README also credits JglTF as the GLTF parser and ufbx as the FBX parser, which is a concrete indication of how those formats are handled. Earcut is credited for another processing component, although the README does not state exactly where it is used.
The viewer is not limited to showing a final shaded image. Skeletal animation is supported, and the GLTF animation feature appears in the 4.1.1 release description. Wireframe toggles expose polygon structure, skeleton visualization exposes rig organization, bounding boxes show model extent, and ray-cast selection identifies objects in the rendered scene. Basic lighting and normal mapping are also listed. These tools are most relevant to someone checking whether a model has the expected geometry, scale, joints, or scene contents.
The format support should still be read narrowly. The README states that these formats can be loaded, but it does not provide a compatibility matrix for individual exporter versions, embedded textures, cameras, lights, morph targets, material extensions, or malformed files. It also does not promise editing, export, retopology, rigging, or format conversion. For an asset pipeline, the safe interpretation is inspection of supported files, not a replacement for Blender, a DCC application, or a dedicated asset validation tool.
OpenGL ES, Cameras, and Stereoscopic Viewing
The custom engine targets OpenGL ES 2.0 and 3.0, and the project description labels the application as supporting both versions. The README's 5.1.0 news entry adds orthographic and isometric cameras, along with engine improvements and bug fixes. That gives users more than a single perspective-style view, although the documentation does not specify the exact camera controls or whether every camera mode is exposed in every application screen.
Stereoscopic support is a defining feature for this project. The application includes anaglyph rendering and a stereoscopic mode for VR headsets. These are different display approaches, so a user should not assume that a headset workflow is interchangeable with ordinary phone viewing. The README does not document supported headset models, calibration controls, performance requirements, or the exact interaction model used in headset mode. It also does not promise desktop-style VR support.
Because the engine is custom, Android graphics capability matters. The documented minimum SDK 26 and SDK 36 target establish an Android compatibility boundary, but they do not state the required GPU, driver, memory, or thermal limits. The README says that 5.1.0 includes engine improvements and fixes, yet it gives no benchmark or frame-rate target. Large models, skeletal animation, normal mapping, and stereoscopic rendering could all affect practical performance, but the README does not quantify those effects.
Installing the Viewer and Building the Debug App
The README provides two distribution paths: Google Play and F-Droid. It also gives a source-building path for developers who want to inspect or compile the repository. The command sequence below clones the repository with submodules, changes into the project directory, builds the debug APK, and installs it through `adb`. The recursive clone is important because the repository contains an engine submodule.
Use this sequence when Android build tools and `adb` are already available:
git clone --recursive https://github.com/the3deer/android-3D-model-viewer.git
cd android-3D-model-viewer
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apkAfter installation, the reader should see the Android application available under the package identity documented in the distribution links, `org.the3deer.android.viewer`. The README does not give a separate CLI command for opening a model or passing a file to the application, so the first real use must be performed through the app's documented user interface rather than an invented command.
For ordinary users, the README directs installation to Google Play or F-Droid. For source users, the repository includes Gradle wrapper files, `app/`, `engine/`, `settings.gradle.kts`, and `build.gradle.kts`. The README does not document required Android SDK packages, Java version, Gradle setup, or signing configuration. Those details should be checked in the project's build files before treating the debug build as a reproducible release build.
Licensing and Project Boundaries
The repository identifies The3Deer as the project owner and states that the project uses the MIT License. Its credits also identify JglTF under MIT, ufbx under MIT, and Earcut under ISC. These license statements are relevant when source or dependencies are redistributed, but they are not a substitute for reviewing the actual `LICENSE` file and the license texts in the `licenses/` directory. The README does not provide legal interpretation, and this review does not provide legal advice.
The project has separate licensing information for its components, so an engineer planning an embedded use should not assume that every file has the same terms simply because the main repository is MIT. The `android-3D-engine` submodule is also linked as a standalone library, which may carry its own repository and licensing context. The README states the MIT license for the main project and names the licenses of several credited dependencies, but it does not describe all possible obligations for a commercial application.
The supported functionality is similarly bounded. This is a viewer and inspection application. The README does not claim model repair, animation authoring, texture editing, scene export, or production pipeline validation. It also does not document a command-line interface, a documented file-picker contract, or a formal compatibility list for model features. Those omissions matter when comparing it with tools intended for those tasks.
Practical Limits Compared with Desktop and Specialized Tools
The main limitation is the difference between inspection and production work. Android 3D Model Viewer can load several common formats and expose geometry, skeletons, bounds, animation, and stereoscopic rendering. A desktop DCC package or a specialized validation tool may be a better fit when the task requires controlled import settings, material editing, animation correction, repair reports, or repeatable validation across a large asset library. The repository material does not claim that this project performs those tasks.
A second limitation is documentation depth for integration. The README points to application documentation, engine integration documentation, and engine API documentation, but it does not provide a complete embedding example or a list of public engine classes. Developers who want only an APK can use the Play Store or F-Droid route. Developers who want to embed the engine should verify the submodule documentation, build configuration, and API surface directly before assuming that the viewer app can be reduced to a library without additional integration work.
A third boundary concerns device and model scale. The project targets modern Android versions and uses a custom OpenGL ES engine, but it gives no supported device matrix, memory limit, maximum polygon count, or texture-size policy. A model that opens on a desktop may still be inconvenient on a phone, especially when animation and stereoscopic rendering are enabled. The correct comparison is therefore based on the exact asset and display device, not on the format extension alone.
Editorial conclusion
Adopt the app when Android-based inspection of common 3D formats and stereoscopic views is the primary requirement. Do not treat it as a general authoring tool or assume that source builds are guaranteed compatible with every current Android environment. Verify the installed package version, the model format and rendering features you need, and whether the Play Store or F-Droid build matches your device before relying on it.
Frequently asked questions
Which 3D file formats does the3deer/android-3D-model-viewer support?
The README lists OBJ, STL, DAE (Collada), GLTF, and FBX support. It also lists skeletal animation, textures through the documented rendering features, and FBX support in the 5.0.5 release description.
Can the3deer/android-3D-model-viewer display VR or stereoscopic models?
The project includes anaglyph rendering and a stereoscopic mode for VR headsets. The README does not specify supported headset models, calibration steps, or performance requirements.
How do I build and install the3deer/android-3D-model-viewer from source?
The README instructs users to clone the repository with submodules, run `./gradlew assembleDebug`, and install `app/build/outputs/apk/debug/app-debug.apk` with `adb install -r`. Users without an Android build environment can install through Google Play or F-Droid instead.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/the3deer-android-3d-model-viewer)Was this useful?