Android: применить эффекты OpenGL к камере

#android #opengl-es #camera #glsurfaceview #color-blending

#Android #opengl-es #камера #glsurfaceview #смешивание цветов

Вопрос:

Есть ли в Android какой-либо способ использовать GLSurfaceView для отображения предварительного просмотра камеры при использовании эффектов OpenGL на этой поверхности? В частности, эффекты аддитивного наложения. Я знаю, что OpenGL может использовать эффекты, и я знаю, что камеру можно разместить на SurfaceView, но можно ли поместить камеру в GLSurfaceView и применить эффекты наложения OpenGL к этому просмотру камеры?

Ответ №1:

Вы можете использовать предварительный просмотр камеры, чтобы получить исходные пиксели кадров камеры, затем загрузить их в текстуру, а затем вы можете создавать любые эффекты, которые вы хотите. Попробуйте взглянуть на это: Руководство по OpenGL ES для Android-камеры (хотя поддержка Android-камеры довольно глючная, она почти никогда не работает при использовании таким образом).

Комментарии:

1. @Patrick D вы решили свою проблему с помощью этого OpenGL, можете поделиться каким-либо руководством или ссылками по применению фильтров live camera

2. Сделайте ссылку на любую камеру Android и opengl

3. @AndroEmbedded что ты имеешь в виду?

4. @theswine Я следил за OpenGL ES для Android-камеры tutorial.Yes..it Глючит> Итак, у вас есть какая-нибудь ссылка на это?

Ответ №2:

Пока это не протестировано, но Camera.setPreviewTexture похоже, что оно было разработано именно для такого рода задач. Он напрямую использует текстуру OpenGL ES в качестве целевого объекта для предварительного просмотра изображений, поэтому вы можете делать с такой текстурой все, что может сделать шейдер.