参考寒风大大的博客shader实现对纹理部分变灰处理

参考了博客:
https://blog.csdn.net/xufeng0991/article/details/72973664
https://blog.csdn.net/xufeng0991/article/details/79942979
工程:
shaderTest.zip (274.7 KB)

这里注意:
在shader中一共有三种变量类型attribute, uniform和varying. 其区别为:uniform变量是外部程序传递给shader的变量;attribute变量只能在vertex shader中使用,为外部程序传递给vertex shader的变量;varying变量则是vertex和fragment shader之间做数据传递用的。(https://www.imooc.com/article/74413
if( v_texCoord.y < v_maxY ){ gl_FragColor.xyz = vec3(0.2126*c.r + 0.7152*c.g + 0.0722*c.b); gl_FragColor.w = c.w; }else{ gl_FragColor = src_color; }
但是我还是有疑问,对于纹理坐标,顶点的y轴坐标应该是1.0,为什么这里我处理的是小于0.3的变灰结果是下半部分没有变灰,而是上半部分变灰?
还有我们处理的顶点数据不应该只有上下左右四个顶点的数据么?对于纹理,所处理的顶点数据是不是一张图的所有像素点的纹理坐标??