2012-06-13 2 views
5

Я хочу выполнить некоторую обработку фонового изображения с использованием OpenGL ES 2 и шейдеров, но без рисования на поверхности (то есть безэкранная рендеринг только для фреймбуферов). Хотя я уже делал это на iOS, я боюсь этого на Android.Обработка изображений OpenGL для Android - без SurfaceView

Я думаю, что я близок к созданию рабочего контекста OpenGL, но не понял, как это сделать без SurfaceView.

ответ

3

Посмотрите на this gamedev post (нажмите, чтобы открыть полный код). Код создает контекст GL и использует интерфейс GLSurfaceView.Renderer, чтобы соответствующим образом разрешить запись рендеринга. При вызове getBitmap() рендеринг вызывается для рисования кадра, который затем считывается и преобразуется в битмап.

Обратите внимание, что есть featured question, которые могут вас заинтересовать.

+0

Этот взгляд представляет большой интерес, спасибо! – CSmith

+0

На самом деле то, что меня интересовало, напрямую создает контекст OpenGL ES 2.0 и вообще избегает GLSurfaceView и Renderer ... это не совсем меня достало, хотя это позволило мне создать контекст, статический класс GLES20 не сделал знать об этом. Я поддерживаю, что вместо NDK я мог бы использовать рендеринг за пределами экрана ... – CSmith

+0

Класс внутри ничего не использует с GLSurfaceView, кроме интерфейса Renderer. Вы можете полностью отказаться от GLSurfaceView.Renderer, и вместо этого у вас есть собственный материал. –

Смежные вопросы