【发布时间】:2014-01-26 22:40:16
【问题描述】:
我正在尝试修改作为标准 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 模拟器和 3.1.3 iPhone 模拟器进行测试。
我在这里做错了什么?我是 Glsl 的一个完整的 n00b - 我正在尝试自学最基本的知识(从 this tutorial 开始)。
【问题讨论】: