Mam następujący fragment shadera:GLSL ES błędy precyzyjne i przelewa
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;
}
Znam ten shader nie ma większego sensu, ale powinna nadal działać poprawne i spróbuj odtworzyć problem z nim. Kiedy analizuje ten shader z analizatorem Xcode OpenGL-ES to pokazuje błąd:
Overflow in implicit conversion, minimum range for lowp float is (-2,2)
i to nie tylko pokazuje ten błąd, również wyjście renderowania jest uszkodzony zrobić do przepełnienia. To nie jest tylko fałszywy alarm z analizatora, który faktycznie przepełnia.
Czy ktoś może mi wyjaśnić, dlaczego dis powoduje nadmiar, mimo że wybrałem highp wszędzie?