亲宝软件园·资讯

展开

glsl shader简明教程系列1

newmiracle宇宙 人气:4

glsl shader简明教程系列1 

 

底层的东西我就不说了(自己去百度翻基础教程)  我直接说上层了(片段着色器)

 web编辑器还在开发中 有了编辑器 到时候可以把代码复制上去可以看到效果了

1  实现图片变灰

void main () {
// 这个变量c就是图片每个像素的 颜色值
vec4 c = vec4(1,1,1,1) * texture2D(texture, uv0);

//下面是变灰算法 只要明白这个算法能变灰就行 
float clrbright = (c.r + c.g + c.b) * (1. / 3.);
float gray = (0.6) * clrbright;

//给图片每个像素重新赋值颜色值
gl_FragColor = vec4(gray, gray, gray, c.a);
}

 

 

2 图片变亮效果

 

  vec4 dim(vec4 col, float factor) {
    return vec4(col.r * factor, col.g * factor, col.b * factor, col.a);
  }
 

void main () {
     // 这个变量c就是图片每个像素的 颜色值
     vec4 c = vec4(1,1,1,1) * texture2D(texture, uv0);
      // 提高亮度(dim第二个参数 设置1以上提高亮度 1以下降低亮度  这些都是颜色算法 不用深究明白有什么作用就行
    vec4 blurred_image = dim(c,1.6);
 //给图片每个像素重新赋值颜色值
     gl_FragColor = vec4(blurred_image);



  }

 

3 图片变模糊

 

加载全部内容

相关教程
猜你喜欢
用户评论