mirror of
https://github.com/MobileGL-Dev/MobileGlues.git
synced 2025-08-02 15:06:07 -04:00
MobileGlues
MobileGlues, which stands for "(on) Mobile, GL uses ES", is a GL implementation running on top of host OpenGL ES 3.x (best on 3.2, minimum 3.0), with running Minecraft: Java Edition in mind.
For Shader Developers
-
MobileGlues automatically:
- Converts desktop GLSL → GLSL ES
- Removes
layout(binding)
syntax - Handles version directives
- Always declare precision explicitly:
precision highp float; precision highp int;
-
MobileGlues (since V1.2.6.0) injects these macros into your shaders:
#define MG_MOBILEGLUES // Indicates MobileGlues environment #define MG_MOBILEGLUES_VERSION 1260 // Version number (e.g. 1260 = V1.2.6)
Use these macros for platform-specific logic:
#ifdef MG_MOBILEGLUES #if MG_MOBILEGLUES_VERSION >= 1270 // Logic for MobileGlues (version >= V1.2.7) #else // Logic for MobileGlues (version < V1.2.7) #endif #else // ... #endif
-
If encountering issues:
- Enable
Ignore shader/program error
, and check the logs (located at/sdcard/MG/latest.log
).
- Enable
License
MobileGlues is licensed under GNU LGPL-2.1 License.
Please see LICENSE.
Third party components
SPIRV-Cross by KhronosGroup - Apache License 2.0: github
glslang by KhronosGroup - Various Licenses: github
GlslOptimizerV2 by aiekick - Apache License 2.0: github
cJSON by DaveGamble - MIT License: github
OpenGL Mathematics (GLM) by G-Truc Creation - The Happy Bunny License: github
FidelityFX-FSR by AMD - MIT License: github
Description
Languages
C++
56.6%
C
42.9%
Python
0.3%
CMake
0.1%