Создание текстуры gl вне GLSurfaceView.Renderer?

Есть ли способ создавать текстуры gl вне моей реализации GLSurfaceView.Renderer? Мне удалось создать текстуры только в методе onSurfaceCreated, так как там у меня есть доступ к переменной gl GL10. Это ограничивает меня, потому что я не могу создавать открытые текстуры gl по запросу в своем коде и должен создавать все в этом методе.

В качестве альтернативы, есть ли способ получить переменную gl GL10 вне GLSurfaceView.Renderer? Или есть еще способ создать GL-текстуры?


person djcouchycouch    schedule 12.05.2011    source источник


Ответы (2)


Я нашел что-то, что работает, получив EGLContext.

import javax.microedition.khronos.egl.EGLContext;
import javax.microedition.khronos.egl.EGL10;
import javax.microedition.khronos.opengles.GL10;

// in code.

EGL10 egl = (EGL10)EGLContext.getEGL(); 
GL10 gl = (GL10)egl.eglGetCurrentContext().getGL();
person djcouchycouch    schedule 12.05.2011

вы должны хранить свой код отдельно. Материалы GL должны выполняться в классах, связанных с GL. логика должна выполняться в классах, связанных с логикой, не имея понятия о вещах gl...

так что нет, вы не можете создавать текстуры gl, если у вас нет доступа к переменной GL10. Кроме того, я думаю, что onSurfaceCreated — правильный метод для этого.

person Diogo    schedule 12.05.2011