Skip to content
프로젝트

the3deer/android-3D-engine has 49 GitHub stars and 17 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 14:59 UTC. Last push 2026-09-04.

이 수치를 측정하는 방법

What you can do

  • Compatibility: Android 8.0+ (API 26+), targeting API 36.
  • Graphics API: OpenGL ES 2.0 and 3.0.
  • Modular Architecture: The engine is decoupled from specific file formats. You only compile and include the parsers you actually use.
  • OBJ (Wavefront)

측정된 스타 증가

in 24h
0
in 7 days
기록 수집 중
in 15 days
기록 수집 중
in 1 month
기록 수집 중

서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.

소개

Android OpenGL 3D engine

창작 및 미디어

README.md

Original

Android 3D Engine

A lightweight, modular OpenGL ES 2.0/3.0 engine for Android. This library provides a component-based architecture to load and render 3D models with support for animations, lighting, and various file formats.

News (04/09/2026)

Version 2.1.0

  • Engine improvements and fixed: Model encapsulation, Camera framing and Projection improved, Shaders fixed.
  • CDI Bean manager improved: private beans support
  • GUI fixes: FontFactory
  • IOUtils: HTTP Headers support

Features

  • Compatibility: Android 8.0+ (API 26+), targeting API 36.
  • Graphics API: OpenGL ES 2.0 and 3.0.
  • Modular Architecture: The engine is decoupled from specific file formats. You only compile and include the parsers you actually use.
  • Supported Formats (Optional Plugins):
    • OBJ (Wavefront)
    • STL (Stereolithography)
    • DAE (Collada) - Support for skinning and animations.
    • GLTF (GL Transmission Format) - PBR-ready structures, skinning, and animations.
    • FBX (Filmbox) - High-performance native parsing via ufbx.
  • Core Capabilities:
    • Skeletal and Property Animations.
    • Directional and Point Lighting.
    • Normal Mapping.
    • Skybox support.
    • Collision Detection (Ray-casting & Octree optimized).
    • Stereoscopic/VR Rendering (Anaglyph & Side-by-Side).

Modular Configuration

To keep your APK small and build times fast, you can enable only the loaders you need in your gradle.properties file:

# Enable specific 3D format plugins
org.the3deer.android.engine.includeObj=true
org.the3deer.android.engine.includeStl=true
org.the3deer.android.engine.includeGltf=true
org.the3deer.android.engine.includeDae=true
org.the3deer.android.engine.includeFbx=false  # Set to false to exclude FBX and its native C++ code

Documentation

Detailed technical documentation regarding the engine's architecture, Scene Graph, and API can be found here: doc/README.md

Usage

1. Add as a Submodule

git submodule add https://github.com/the3deer/android-3D-engine.git engine

2. Configure Gradle

Add the module to your settings.gradle:

include ':engine'

And add the dependency to your app/build.gradle:

dependencies {
    implementation project(':engine')
}

2. Register Loaders

In your application initialization (e.g., MainActivity or Application class), register the plugins you want to use:

// Register only the formats your game uses
LoaderRegistry.register("obj") { uri, listener -> WavefrontLoaderTask(uri, listener) }
LoaderRegistry.register("gltf") { uri, listener -> GltfLoaderTask(uri, listener) }
LoaderRegistry.register("glb") { uri, listener -> GltfLoaderTask(uri, listener) }

Documentation

Detailed technical documentation regarding the engine's architecture, Scene Graph, and API can be found here: doc/README.md

Credits & License

  • The3Deer: MIT License
  • STL Parser: GNU LGPL v2.1 (Dipl. Ing. P. Szawlowski)
  • GLTF Parser: MIT License (javagl/JglTF)
  • EarCut: ISC License (Mapbox)

Developed with assistance from Gemini AI.