Skip to content

the3deer/android-3D-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android 3D Engine

This is a 3D OpenGL ES 2.0 engine

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

Features

  • Supports >= Android 4.1 (Ice Cream Sandwich) - Min API Level 16 -> Target API Level 31
  • OpenGL ES 2.0 API
  • 3D model parser:
    • 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)

Usage

  • Create your own Android application (eg. using Android Studio )

  • Execute the following command to include this module/library

    $ cd your-3d-git-project $ git submodule add https://github.com/the3deer/android-3D-engine.git engine

  • Add engine in settings.gradle

    include ':app' include ':engine'

  • Add dependency in your app/build.gradle

    implementation project(':engine')

Dependants

Documentation

Not yet available. You would need to check the android-3D-model-viewer application on how this engine is used.

Licenses

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 - https://github.com/the3deer
GNU LGPL v2.1 Copyright (c) 2001, 2002 Dipl. Ing. P. Szawlowski - STL Parser
MIT License - https://github.com/javagl/JglTF - GLTF Parser    
ISC License - Earcut - https://github.com/the3deer/earcut

ChangeLog

  • 0.1.0 (18/10/2022)

    • Added support for ZIP files
  • 0.0.1 (10/10/2022)

    • initial version imported from android-3D-model-viewer application