Android OpenGL ES --- Все расширения поддерживаются? - PullRequest
4 голосов
/ 07 августа 2011

Я очень озадачен тем, как расширения OpenGL ES работают на Android, как в Java API, так и в API NDK.

Во-первых, я пришел из мира ванильного OpenGL нарабочий стол.В этом мире расширения достаточно интуитивно понятны для загрузки и использования.Сначала вы проверяете GL_EXTENSIONS, чтобы увидеть, объявляет ли система необходимые вам расширения, а затем вы динамически загружаете точки входа расширения через wglGetProcAddress, glXGetProcAddress или dlsym (в зависимости от того, используете ли вы WinAPI, X11 или OS X соответственно).

Но теперь, сегодня, я только что впервые увидел интерфейс GL11Ext на Android, расположенный здесь: http://developer.android.com/reference/javax/microedition/khronos/opengles/GL11Ext.html

Моя первая мысль была: "Что, что !? Так что ВСЕ расширениязагружен глухим !?Итак, что произойдет, если вы попытаетесь использовать расширение, которое не объявлено системой?

Теперь, что я нахожу еще более удивительным, так это расширения OpenGL ES через NDK, которые кажутся мне совершенно бесполезными (если кто-то не можетобъясните мне, как их загрузить).Мне нужно ориентироваться на Android 2.2, поэтому я использую заголовки платформы Android-8 NDK.Когда я смотрю на заголовки android-8, я нахожу GLES / glext.h и GLES2 / gl2ext.h, НО ГДЕ ЯВЛЯЕТСЯ НАЙТИ eglGetProcAddress ()!

Я полагаю, что glext.h и gl2ext.hвыставлять объявления функций для расширений, но если вы собираетесь сказать мне, что я должен их использовать, то я все равно буду в замешательстве.Потому что в этом случае мы возвращаемся к вопросу о API Java, который у меня был, а именно: «Значит, все расширения также загружаются по умолчанию в ES API NDK?»

1 Ответ

7 голосов
/ 07 августа 2011

Единственными расширениями, доступными в API Java, являются расширения, которые должны присутствовать на всех устройствах Android. Вот почему вы не найдете, например, специфичные для поставщика расширения в Java API. Последний NDK предоставляет eglGetProcAddress в заголовках android-9.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...