• 1000 для игрового процесса. Функция подкачки контекста:
static int load_gl_in_background(void *foo) {
SDL_GL_MakeCurrent(window, gl_context_sub);
// here foo is calling - loading textures
SDL_GL_MakeCurrent(window, gl_context);
return 0;
}
SDL_Thread *thread =
SDL_CreateThread(load_gl_in_background, "SDL thread", (void *)foo);
Да, это хорошо работает на рабочем столе с контекстом es, но когда я начинаю переносить свою игру на Android, у меня возникает проблема с совместным использованием объектов. Текстуры, загруженные 2-м контекстом, после создания текущего контекста отсутствуют. Уверен, l oop работает, все в порядке (звуки, рендеринг незагруженных текстур ...). Android debug сообщает только E / libEGL: eglMakeCurrentImpl: 1321 error 3002 (EGL_BAD_ACCESS). Я действительно думаю, что проблема в том, что я должен использовать специальный SurfaceView для каждого контекста, но я надеюсь, что это можно решить с помощью флагов, атрибутов в коде C ++. Для портирования я использовал SDL, мне нужны идеи. Спасибо!