をオーバーフローし、私は次のフラグメントシェーダがありますGLSL ES精度誤差や
precision highp float;
varying highp vec2 vTexCoord;
uniform sampler2D uColorTexture;
void main() {
highp vec4 tmp;
tmp = ((texture2D (uColorTexture, vTexCoord) + texture2D (uColorTexture, vTexCoord))/2.0);
gl_FragColor = tmp;
}
私はこのシェーダは、あまり意味がありませんが、それが正しい実行する必要があります知っていると私はそれで問題を再現しようとします。私はXcodeのOpenGLの-ESアナライザでこのシェーダを分析するとき、それはエラーを示しています。
Overflow in implicit conversion, minimum range for lowp float is (-2,2)
をし、それがこのエラーを示していないだけで、また、レンダリング出力がオーバーフローするために行う壊れています。実際にオーバーフローするのはアナライザからの誤検出だけではありません。
なぜ私はhighpをどこでも選んだが、disがオーバーフローを起こす理由を説明することはできますか?