1.分屏
分屏的实现思路就是调整顶点坐标与纹理坐标的映射关系
2.灰色滤镜
灰色滤镜有5种实现方案,都是取比例颜色
- 浮点算法: Gray = (R0.3 , G0.59 , B*0.11 ,1.0);
- 整数算法: Gray = (R30 , G59 , B11)/100;
- 位移算法: Gray = (R76,G151,B*28)>>8;
- 平均值法: Gray = (R+G+B) / 3;
- 仅取绿值: Gray = G;
3.颠倒
//片元着色器中的代码
precision highp float;
uniform sampler2D Texture;
varying vec2 TextureCoordsVarying;
void main (void) {
//思路 : 让y轴纹理翻转, 所以用1减去纹理坐标的y值就可以了
//纹理坐标的y值取值范围是(0-1);
vec4 mask = texture2D(Texture, vec2(TextureCoordsVarying.x,1.0-TextureCoordsVarying.y));
gl_FragColor = mask;
}
网友评论