По тихоньку портирую форк Corange на android в целом проблемы есть, но понятно как пофиксить (и гугл ккорпорация не добра они выпилили поддерку gcc, конечно если очень хочется то можно, но блин…) а вот с OpenglES немного не ясно
Имеем выхлоп
[armeabi-v7a] SharedLibrary : libEGNAROC.so
jni/corange/src/graphics.c:413: error: undefined reference to 'glClearDepth'
jni/corange/src/assets/texture.c:73: error: undefined reference to 'glGetTexLevelParameteriv'
jni/corange/src/assets/texture.c:74: error: undefined reference to 'glGetTexLevelParameteriv'
jni/corange/src/assets/texture.c:75: error: undefined reference to 'glGetTexLevelParameteriv'
jni/corange/src/assets/texture.c:95: error: undefined reference to 'glGetTexImage'
jni/corange/src/assets/texture.c:113: error: undefined reference to 'glGetTexImage'
jni/corange/src/assets/texture.c:131: error: undefined reference to 'glGetTexImage'
jni/corange/src/assets/texture.c:89: error: undefined reference to 'glGetTexImage'
jni/corange/src/assets/texture.c:231: error: undefined reference to 'glTexImage3D'
jni/corange/src/assets/texture.c:251: error: undefined reference to 'glGetTexLevelParameteriv'
jni/corange/src/assets/texture.c:619: error: undefined reference to 'glTexImage3D'
jni/corange/src/rendering/renderer.c:491: error: undefined reference to 'glDrawBuffer'
jni/corange/src/rendering/renderer.c:492: error: undefined reference to 'glReadBuffer'
jni/corange/src/rendering/renderer.c:3737: error: undefined reference to 'glPolygonMode'
jni/corange/src/rendering/renderer.c:3739: error: undefined reference to 'glPolygonMode'
jni/corange/src/rendering/renderer.c:3744: error: undefined reference to 'glPolygonMode'
jni/corange/src/rendering/renderer.c:3747: error: undefined reference to 'glPolygonMode'
jni/corange/src/rendering/renderer.c:3752: error: undefined reference to 'glDrawBuffer'
jni/corange/src/rendering/renderer.c:1450: error: undefined reference to 'glClearDepth'
jni/corange/src/rendering/renderer.c:1504: error: undefined reference to 'glClearDepth'
jni/corange/src/ui/nuklear.c:19919: error: undefined reference to 'glPushAttrib'
jni/corange/src/ui/nuklear.c:19932: error: undefined reference to 'glOrtho'
jni/corange/src/ui/nuklear.c:20017: error: undefined reference to 'glPopAttrib'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [obj/local/armeabi-v7a/libEGNAROC.so] Error 1
make[1]: Leaving directory `/home/dron/Game3'
make: *** [Makefile:2: all] Ошибка 2
dron@gnu:~/Game3$
Ну всяких glPolygonMode
glClearDepth
glOrtho
glPushAttrib
glPopAttrib
нет ну и хрен с ними первое можно просто игнорировать (или есть чем заметь), а остальные задать явными массивами в шейдеры, pipeline рендера в ES вроде как вообще нет всё на откуп шейдерам отдано если я правильно понял.
Остаются
glGetTexLevelParameteriv
(как в ES получать информацию по текстурам?)glGetTexImage
(как в ES получать данные текстуры (нужно для скриншотов как минимум))glTexImage3D
(как работать с 3D текстурами? Это нужно для LUT постобработки)glDrawBuffer
(а вот тут я прифигел, каким образом мне назначить отрисовку на FBO?)glReadBuffer
(и прифигел ещё раз)
Ну вот вроде всё, я сейчас конечно пойду гуглить упорно и на khronos.org схожу, но вдруг кто уже сталкивался и знает как это всё должно быть чем заменить, какие проблемы могут быть ну и всё такое. И да некоторое есть в ES3.1, но я не хочу 3.1 версию, а именно 2.x что бы иметь покрытие и старого железа.