Ho il seguente frammento di shader:errori di precisione GLSL ES e trabocca
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;
}
So che questo shader non ha molto senso, ma dovrebbe ancora funzionare correttamente e cerco di riprodurre un problema con esso. Quando analizzo questo shader con l'analizzatore Xcode OpenGL-ES mostra un errore:
Overflow in implicit conversion, minimum range for lowp float is (-2,2)
e non solo mostra questo errore, anche l'uscita di rendering è rotto fare per overflow. Quindi non è solo un falso positivo dall'analizzatore che trabocca effettivamente.
Qualcuno può spiegarmi perché dis produce un overflow anche se ho scelto highp ovunque?