Список атрибутов в eglCreateContext

8 Leif Andersen [2011-05-08 23:47:00]

Я смотрю пример android ndk opengl es. Во всяком случае, там есть строки:

int[] attrib_list = {EGL_CONTEXT_CLIENT_VERSION, 2, EGL10.EGL_NONE };
EGLContext context = egl.eglCreateContext(display, eglConfig, EGL10.EGL_NO_CONTEXT, attrib_list);

Где EGL_CONTEXT_CLIENT_VERSION определяется как:

private static int EGL_CONTEXT_CLIENT_VERSION = 0x3098;

Я перехожу через API для этого вызова, и он говорит, что последний параметр для списка атрибутов. Но я не могу найти ничего, что на самом деле дает атрибуты, которые вы, возможно, захотите вставить там, или даже объяснить два атрибута, которые в нем содержится. Может ли кто-нибудь сказать мне, что означают эти атрибуты? (Или еще лучше, также укажите мне некоторую документацию, которая объясняет это).

Спасибо

Изменить: я просто понял, что поможет немного контекста. Конкретный образец находится в образцах /hello -gl2. Файл находится в классе представления, в частности, в статическом классе ContextFactory.

android opengl-es


1 ответ


8 Решение genpfault [2011-05-09 01:56:00]

Проверьте spec, стр. 43:

attrib list может быть NULL или пустым (первый атрибут EGL_NONE), в в каких случаях атрибуты принимают значения по умолчанию, как описано ниже.

EGL_CONTEXT_CLIENT_VERSIONопределяет версию OpenGL ES для создания. Атрибут значение 1 указывает на создание Контекст OpenGL ES 1.x. Атрибут значение 2 указывает на создание OpenGL ES 2.x контекст. По умолчанию значение для EGL_CONTEXT_CLIENT_VERSION 1.