我有一個基於OpenGL ES 2.0的iPhone應用程序,我正在運行一些OpenGL ES故障。OpenGL ES 2.0衍生紋理
我想complile片段着色器計算/顯示輸入紋理的派生。我的片段着色器代碼是:
varying highp vec2 textureCoordinate;
uniform sampler2D inputImageTexture;
uniform sampler2D inputImageTexture2;
void main(void)
{
mediump vec4 derivData = vec4(dFdx(texture2D(inputImageTexture, textureCoordinate).xyz, 0.0);
gl_FragColor = derivData;
}
但是,編譯失敗。如果我拿出dFdX,它編譯得很好。
有沒有人有這方面的經驗?我最終還想計算關於Y的導數,然後合併它們,看看輸入紋理是如何成像的。
我一直在這裏掙扎幾天,所以你有任何意見將不勝感激!
不幸的是,'dFdx()'不是OpenGL ES 2.0中的內置函數。這些功能的完整列表可以在這個方便的參考卡中找到:http://www.khronos.org/opengles/sdk/docs/reference_cards/OpenGL-ES-2_0-Reference-card.pdf – 2012-03-12 17:35:36
其實,我可能是有點錯了。它看起來像'GL_OES_standard_derivatives'擴展名可能出現在iOS設備上,爲此提供支持:http://stackoverflow.com/questions/5959542/ios-simulator-gl-oes-standard-derivatives。但是,模擬器似乎缺乏這種支持。 – 2012-03-12 17:40:14
「但是,編譯失敗。」當它編譯失敗時,它是否會給你一些錯誤信息?你能發佈該錯誤消息嗎? – 2012-03-12 17:42:33