3

我一直在這裏發佈像瘋了一樣試圖讓我的片段着色器代碼工作。我終於偶然發現了一些可能解決問題的方法。Android:如何在相同的片段着色器中使用samplerExternalOES和sampler2D

我想在Android上使用OpenGl ES 2.0來操縱相機預覽。爲此,我需要將我自己的紋理加載到片段着色器。因此,我將相機的紋理作爲samplerExternalOES,並將我自己的紋理作爲sampler2D。我看到一個回覆​​說有一個錯誤,試圖在一個片段着色器中使用這兩種紋理類型。任何人都可以爲我闡明這一點嗎?爲什麼不能在同一着色器中使用samplerExternalOES和sampler2D紋理?那麼解決這個問題的最好方法是什麼?

歡迎任何反饋。

感謝,

Mikeshiny

+0

你可以顯示片段着色器嗎?你會得到什麼錯誤? –

+0

您的設備編解碼器可能存在硬件限制,但我懷疑它。我知道你不能在同一通道上進行屏幕打印並輸出給FBO。要解決這個問題,你只需做兩遍...一個程序(頂點片段着色器對)寫出到屏幕,然後切換放置並重新運行... – izzy

+0

一些其他人遇到這種情況的更多信息:http: //stackoverflow.com/questions/13376254/android-opengl-combination-of-surfacetexture-external-image-and-ordinary-textu – msfeldstein

回答

2

您可以使用render-to-texture解決您的問題。

在合併它們作爲最終渲染之前,將它們渲染爲samplerExternalOESsampler2D單獨的FBO。

相關問題