Я работаю над этим приложением для фотографий, которое использует OpenGL 2.0 с помощью Renderer, вне экрана GLSurfaceView и некоторых шейдерных скриптов (* .fsh и * .vsh).Используйте OpenGL для рисования шейдера в потоке?
после загрузки шейдерных скриптов из папки «Активы», подготовки поверхности и контекста GL и т. Д., И т. Д., Мы наконец вызываем GLES20.glDrawArrays(GLES20.GL_TRIANGLE_FAN, 0, 4);
, и он работает очень хорошо, и он генерирует растровые изображения с эффектами.
Проблема, КУРС, является ограничением памяти и любым достаточно большим растровым изображением (независимо от устройства, не такого большого для старых пряников и очень больших изображений для Nexus 10), и оно будет производить и OutOfMemoryException.
Я не настолько хорошо осведомлен в OpenGL, и способ, которым я знаю, иметь дело с очень большими объемами данных, - использовать поток, поэтому нет необходимости хранить его в памяти.
Итак, вопрос в том, есть ли способ применить шейдер/рендеринг openGl через Stream вместо битового массива в памяти? Если да, любой указатель на ссылку или базовую процедуру?
Извините за глупый вопрос, я новичок в OpenGl, как вы рисуете шейдеры за кадром? как я понял из документационного рендеринга в GLSurfaceView, должен быть успешным только в том случае, если он виден. – Nativ