Krypton Wrapper (aka NG-GL4ES) is an OpenGL-to-OpenGL ES translation layer, forked from gl4es and gl4es-114-extra, with modern enhancements targeting Android.
- Capability to handle more advanced shaders (GLSL → SPIR-V → ESSL via glslang & SPIRV-Cross);
- Capability to run Minecraft in almost all versions;
- More advanced OpenGL features on GLES hardware.
NG-GL4ES/
├── CMakeLists.txt # CMake build entry
├── include/ # Public headers (GL/EGL/GLES/KHR, version.h, ...)
├── src/
│ ├── gl/ # Core translation layer
│ └── glx/ # GLX / platform glue
├── 3rdparty/ # Submodules: glslang, SPIRV-Cross
├── external/ # MetalANGLE.framework (macOS/iOS)
├── docs/ # COMPILE.md (build guide), USAGE.md (env vars)
└── tools/ # Spec-based code generation tools
git clone https://github.com/Uniaball/NG-GL4ES.git
cd NG-GL4ES
git submodule update --init --recursive
cmake -B build \
-DANDROID_ABI=arm64-v8a \
-DANDROID_PLATFORM=android-29 \
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \
-DANDROID_TOOLCHAIN=clang
cmake --build build --config Release --parallelThe output library is build/libng_gl4es.so.
For other platforms and detailed options, see docs/COMPILE.md. For runtime environment variables, see docs/USAGE.md.
See CHANGELOG.md and Releases.
This project stands on the shoulders of:
- ptitSeb/gl4es — the original OpenGL-to-GLES translation layer (MIT License)
- BZLZHH/NG-GL4ES — the direct upstream of this fork (MIT License)
- PojavLauncherTeam/gl4es-114-extra (MIT License)
- Some code is from MobileGlues.
- glslang by KhronosGroup — Various Licenses — github
- SPIRV-Cross by KhronosGroup — Apache License 2.0 — github
- cJSON by DaveGamble — MIT License — github
ptitSeb (gl4es): paypal
MIT License — see LICENSE.