0
Я не могу скомпилировать следующий фрагмент шейдера:простое сравнение из vec4.x> 5
uniform vec3 color;
uniform sampler2D tDiffuse;
varying vec2 vUv;
void main() {
vec4 texel = texture2D(tDiffuse, vUv);
vec3 luma = vec3(0.299, 0.587, 0.114);
float v = dot(texel.xyz, luma);
if (texel.x > 5)
gl_FragColor = vec4(v * color, texel.w);
else
gl_FragColor = texel;
}
Если изменить (texel.x> 5) (1> 5) он работает отлично. Но почему-то texel.x вызывает ошибку компиляции. Кто-нибудь видит очевидную проблему с этим кодом?
Я не знал, что! Ты узнаешь что-то новое каждый день. спасибо –
GLSL полностью OpenGL делает неявные преобразования. Таким образом, исходный код будет легальным. В OpenGL ES для этих операторов нет неявных преобразований. –