Я пытаюсь изменить фрагментный шейдер, который является частью стандартного шаблона iPhone / XCode OpenGL ES. Я хочу сделать так, чтобы каждый второй ряд пикселей был прозрачным. У меня есть этот код до сих пор:
varying lowp vec4 colorVarying;
void main()
{
gl_FragColor = vec4(colorVarying.x, colorVarying.y, colorVarying.z, floor(mod(gl_FragCoord.y, 2.0)));
}
Но когда я собираю и запускаю, я все равно получаю один и тот же квадрат, двигаясь вверх и вниз без других эффектов.
Вот мой вершинный шейдер (моя клавиатура сломалась, поэтому клавиши возврата нет! DOH!)
attribute vec4 position;
attribute vec4 color;
varying vec4 colorVarying;
uniform float translate;
void main()
{
gl_Position = position;
gl_Position.y += sin(translate) / 2.0;
colorVarying = color;
}
Используя этот вершинный шейдер и фрагментный шейдер выше, я не получаю «эффекта линии сканирования», на который я надеялся. Я тестирую с использованием симулятора iPad, а также симулятора iPhone 3.1.3.
Что я здесь не так делаю? Я полный n00b в Glsl - я пытаюсь научить себя самым основам (начиная с этого урока ).