效果:

VSH:

#ifdef OPENGL_ES
precision mediump vec2;
precision mediump float;
#endif// Attributes
attribute vec3 a_position;
attribute vec2 a_texCoord;
attribute vec4 a_color;// Varyings
#ifdef GL_ES
varying vec2 v_texCoord;
#else
varying vec2 v_texCoord;
#endif
varying vec4 v_fragmentColor;void main()
{gl_Position = CC_PMatrix * vec4(a_position, 1.0);v_texCoord = a_texCoord;v_fragmentColor = a_color;
}

FSH:

#ifdef GL_ES
precision mediump float;
#endifvarying vec2 v_texCoord;
varying vec4 v_fragmentColor;
void main()
{vec4 col = texture2D(CC_Texture0, v_texCoord );float h = dot(col.rgb, vec3(0.3, 0.59, 0.21));gl_FragColor = vec4(h, h, h, col.a);
}

cocos shader 之 黑白滤镜相关推荐

  1. 火云开发课堂 - 《Shader从入门到精通》系列 第八节:在Shader中实现黑白滤镜

    <Shader从入门到精通>系列在线课程 第八节:在Shader中实现黑白滤镜 视频地址: http://edu.csdn.net/course/detail/1441/22672?aut ...

  2. cocos2d-js Shader系列2:在cc.Sprite上使用Shader(黑白、灰度、造旧效果)

    在Sprite中使用Shader做特殊的颜色处理比较简单,只需要把Shader程序绑定到Sprite上即可: sprite.shaderProgram = alphaTestShader; Cocos ...

  3. Android Camera使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜)

    第一篇 Android Camera使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜) 第二篇 Android Camera使用OpenGL ES 2.0和T ...

  4. Android Camera API 2使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜)

    这段时间有点忙,一直没时间写第三篇教程,其实代码很早之前就写好了.本系列教程会有三篇文章讲解Android平台滤镜的实现方式,希望在阅读本文之前先阅读前面两篇文档. 第一篇 Android Camer ...

  5. java用opencv实现滤镜_opencv滤镜-二值化实现黑白滤镜

    黑白滤镜 黑白滤镜非常简单,顾名思义就是图像只有黑色与白色,这实际上就是图像的二值化.实现的原理也非常地简单,设定一个阈值,假设为128,判断每个像素点的灰度值,大于128设为255(对应白色),小于 ...

  6. opencv滤镜-二值化实现黑白滤镜

    黑白滤镜 黑白滤镜非常简单,顾名思义就是图像只有黑色与白色,这实际上就是图像的二值化.实现的原理也非常地简单,设定一个阈值,假设为128,判断每个像素点的灰度值,大于128设为255(对应白色),小于 ...

  7. 基于HTML5 Canvas实现黑白滤镜

    getImageData 和 putImageData 是 HTML5  Canvas两个比较常用的两个 API. 通过getImageData,可以得到canvas指定区域的像素点数组,每个像素点包 ...

  8. canvas--putImageData--(灰色滤镜、黑白滤镜、反色滤镜、模糊滤镜、马赛克滤镜)

    示例 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title& ...

  9. 4.5.2.3_黑白滤镜

    4.5.2.3_黑白滤镜 <!DOCTYPE html> <html><head><meta charset="UTF-8">< ...

最新文章

  1. 【python教程入门学习】七夕情人节表白|Python程序员的花式表白
  2. 阿里程序员连续两次绩效3.25!大老板威胁要开除他!还不给赔偿金!问大家该如何维权?...
  3. [POI2005]BAN-Bank Notes
  4. bean加载时调用@value时会出现空指针异常_SpringMVC全局异常处理机制
  5. Spring Annotation Processing: How It Works--转
  6. WebBrowser内存泄露
  7. 畅想(2)-计算机发展与教育的关系
  8. matlab gui 中指定axes窗口画进度条
  9. 详解volatile关键字
  10. 车辆工程用得到python吗_如今车辆工程真的不如以前了吗?
  11. 忽悠CTO搞中台,把自己饭碗都搞砸了
  12. 一文搞懂MySQL-8.0 redo优化
  13. 3月3日发布!realme V25正式官宣:超大内存的国潮手机
  14. 阿里云服务器如何更换系统镜像
  15. 羿的后人证明上古历史不是神话
  16. linux看网络信息失败的原因,Linux版本登录提示网络错误
  17. SREng 日志分析方法
  18. 职高学计算机走单招是什么意思,职高计算机对口单招
  19. 水果店开业朋友圈,水果店开业朋友圈宣传
  20. JavaWeb - 小米商城:登录与退出

热门文章

  1. vivo Y79的Usb调试模式在哪里,打开vivo Y79Usb调试模式的方法
  2. Android Drawable设计圆角
  3. Android Studio数据永久保存——SharedPreferences
  4. HTML 页面的生命周期、HTML 事件
  5. 7-31 求圆周长和面积
  6. spark xgboost 特征重要性分析 gain、cover、freq
  7. 超能陆战队中的微型机器人现已实现!
  8. 单链表上的直接插入排序
  9. 【IDE】AndroidStudio关闭Related problems提示
  10. office的加载项作用