3

Я публиковал здесь, как сумасшедший, пытаясь заставить мой шейдерный код фрагмента работать. Я, наконец, наткнулся на то, что может исправить то, что не так.Android: Как использовать samplerExternalOES и sampler2D в том же фрагментаторе shader

Я пытаюсь использовать OpenGl ES 2.0 на Android для управления предварительным просмотром камеры. Для этого мне нужно загрузить собственную текстуру в шейдер фрагмента. Таким образом, у меня есть текстура камеры как samplerExternalOES и моя собственная текстура как sampler2D. Я увидел один ответ, говорящий, что есть ошибка с попыткой использовать оба этих типа текстур в одном фрагментаторе. Может ли кто-нибудь пролить свет на это для меня? Почему вы не можете использовать samplerExternalOES и текстуру sampler2D в том же шейдере? И что было бы лучшим способом решить эту проблему?

Любая обратная связь приветствуется.

Спасибо,

Mikeshiny

+0

Можете ли вы показать шейдер фрагмента? Какая у вас ошибка ? –

+0

В кодеках устройств может быть аппаратное ограничение, но я сомневаюсь. Я знаю, что вы не можете печатать на экране и выходить на FBO в тот же пас. Чтобы обойти это, вы просто делаете два прохода ... Одна программа (пара шейдеров фрагмента вершин) записывает на Screen, а затем выключает puts и повторно запускает ... – izzy

+0

Дополнительная информация в случае, если кто-то еще сталкивается с этим: http: //stackoverflow.com/questions/13376254/android-opengl-combination-of-surfacetexture-external-image-and-ordinary-textu – msfeldstein

ответ

2

Вы можете использовать render-to-texture, чтобы решить вашу проблему.

Render samplerExternalOES и sampler2D в отдельных FBOs перед их объединением в качестве окончательного рендеринга.