私は、OpenGL ESに少し問題があるように走っているOpenGL ES 2.0ベースのiPhoneアプリを持っています。OpenGL ES 2.0デリバティブテクスチャ
私は、入力テクスチャの派生物を計算/表示するフラグメントシェーダをコンパイルしようとしています。私のフラグメントシェーダコードは:
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に関しても同様に微係数を計算して、入力テクスチャがどのように画像であるかを見てマージしたいと思います。
私は数日間このことに苦労していますので、アドバイスをいただければ幸いです! https://developer.apple.com/library/ios/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/OpenGLESPlatforms/OpenGLESPlatforms.html
は、しかし、あなたが「自由のために」それを得ることはありません:ES 2.0をサポートしています
残念ながら、 'dFdx()'はOpenGL ES 2.0のビルトイン関数ではありません。これらの機能の完全なリストはこの便利なリファレンスカードにあります:http://www.khronos.org/opengles/sdk/docs/reference_cards/OpenGL-ES-2_-Reference-card.pdf –
実際には、私はそれはやや間違っています。 'GL_OES_standard_derivatives'拡張がiOSデバイス上に存在し、これをサポートしているようです:http://stackoverflow.com/questions/5959542/ios-simulator-gl-oes-standard-derivatives。しかし、シミュレータにはこのサポートが欠けているようです。 –
"しかし、これはコンパイルに失敗します。"コンパイルに失敗したときに、何らかのエラーメッセージが表示されましたか?そのエラーメッセージを投稿できますか? –