Skip to content


Repository files navigation

Android 3D Model Viewer

travis-ci badge

This is a demo of OpenGL ES 2.0. It is basically an android application with a 3D engine that can load Wavefront OBJ, STL, DAE & GLTF files. The purpose of this application is to learn and share how to draw using OpenGL language.

News (04/10/2022)

  • Preparing version 4.0.0 for Google Play release...
  • New orthographic, isometric and free camera views
  • GLTF basic support :)
  • Rebranding to org.the3deer


Checkout this to see the features of the application:

Android Market

Get in on F-Droid


  • Collada support is limited. Collada renderer currently supports a maximum of 60 bones.
  • In order to see models in 3D virtual reality, you need red-cyan and/or VR glasses
  • If you have any issue in general,please open an issue and attach model if possible, specifying Android version and Device model.


Load 3D models and see how to do it with this open source code application.

The main purpose of this app is to show how to draw in android using the OpenGL 2.0 by sharing the source code. So please, don't expect this application to be much richer or nicer than the ones already published in the app store, but at least it's opened to anyone who wants to contribute or don't want to start a similar project from scratch.

As this is my first android app and Im still learning the OpenGL 2.0 language, it is highly probable that there are bugs; but I will try to continue improving the app and adding more features. So please send me your comments, suggestions or complains by opening an issue.

The app comes with some included 3D models that have different licenses.

Whats next

  • Improve support for glTF standard format
  • VR without glasses (on hold)
  • Augmented reality


  • Supports >= Android 4.1 (Ice Cream Sandwich) - Min API Level 16 -> Target API Level 31
  • OpenGL ES 2.0 API
  • Multiple Formats:
    • OBJ (wavefront)
    • STL (STereoLithography)
    • DAE (Collada-BETA)
    • GLTF (GL Transmission Format)
  • Vertex Normals support
  • Transformation support: scaling, rotation, translation, orientation
  • Colors support
  • Textures support
  • Lighting support
  • Multiple Rendering Modes
    • triangles
    • wireframe
    • point cloud
    • skeleton
  • camera support
    • perspective
    • orthographic
    • isometric views
    • free
  • skeletal animations (collada dae)
  • ray collision detection
  • stereoscopic 3D: anaglyph + cardboard
  • other:
    • Polygon with holes
    • Smoothing
    • Bounding box
    • Skybox
    • Object picking
    • file explorer
    • repository explorer
    • texture loader
    • lightweight: only 1.3 Megabyte (embedded models excluded)

Try it

You can install the application in either of these ways:

    export ANDROID_HOME=/home/$USER/Android/Sdk
    ./gradlew assembleDebug
    adb install -r app/build/outputs/apk/app-debug.apk
    adb shell am start -n org.andresoviedo.dddmodel2/

Open the application. You should see a menu. From there you can load models Once the model is rendered, pinch and rotate to see the 3D scene from another perspective.


Screenshot1 Screenshot2 Screenshot3 Screenshot4 Screenshot5 Screenshot6 cowboy.gif stormtrooper.gif Screenshot6


You can run application in an emulator

// install some file provider (i.e. es file explorer)
adb devices -l
adb -s emulator-5554 install .\,x86)(nodpi).apk
// push some files to test file loading
adb -s emulator-5554 push .\app\src\main\assets\models /sdcard/download


You may need one of this glasses to view models in 3D virtual reality.



Working on it...



The following copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

MIT License - Copyright (c) 2022 The 3Deer -
GNU LGPL v2.1 Copyright (c) 2001, 2002 Dipl. Ing. P. Szawlowski - STL Parser
MIT License - - GLTF Parser    
ISC License - Earcut -