Cocos2dx-JS 在 Sprite 上使用 Shader
来源:互联网 发布:网络连接打印机脱机 编辑:程序博客网 时间:2024/06/07 14:13
//例如如下一个简单的变色程序,蓝色变红色 ,js 代码:
var url = "res/sb.jpg"; var sp = new cc.Sprite(url); sp.setAnchorPoint(0,0); this.addChild(sp); this.shader = new cc.GLProgram("res/Shaders/example_Flower.vsh", "res/Shaders/example_Flower.fsh"); this.shader.retain(); this.shader.link(); this.shader.updateUniforms(); var program = this.shader.getProgram(); sp.shaderProgram = this.shader;
VertexShader
attribute vec4 a_position;attribute vec2 a_texCoord;attribute vec4 a_color;#ifdef GL_ESvarying lowp vec4 v_fragmentColor;varying mediump vec2 v_texCoord;#elsevarying vec4 v_fragmentColor;varying vec2 v_texCoord;#endifvoid main(){ gl_Position = CC_PMatrix * a_position; v_fragmentColor = a_color; v_texCoord = a_texCoord;}
FragmentShader
#ifdef GL_ES precision lowp float;#endifvarying vec4 v_fragmentColor;varying vec2 v_texCoord;void main(){ gl_FragColor = v_fragmentColor * texture2D(CC_Texture0, v_texCoord); float r = gl_FragColor[0]; float g = gl_FragColor[1]; float b = gl_FragColor[2]; float a = gl_FragColor[3]; if(b > r && b > g && b > (r*0.5 + g*0.5)*1.5) { gl_FragColor[0] = b; gl_FragColor[2] = r; }}
0 0
- Cocos2dx-JS 在 Sprite 上使用 Shader
- cocos2dx shader在android上失效
- cocos2dx shader应用——sprite变灰去色
- cocos2dx中 Node 在shader使用v_texCoord
- 在Cocos2dx 3.10中第一次使用shader
- Cocos2dx 定义可以修改颜色的Sprite(shader的使用)
- cocos2dx Shader的使用
- cocos2dx使用自定义shader
- cocos2dx-js Shader的使用(高斯模糊)
- cocos2dx shader应用——sprite变灰
- cocos2dx shader应用——sprite变灰
- cocos2dx Sprite setBlendFunc 使用颜色混合:加算,减算
- cocos2dx Sprite setBlendFunc 使用颜色混合:加算,减算
- 转 自动Shader优化器glsl_optimizer的编译与在cocos2dx中使用
- Unity2D Sprite 描边Shader
- {Unity} 单色Sprite Shader
- 关于在cocos2dx中继承Sprite的分析与技巧
- 关于在cocos2dx中继承Sprite的分析与技巧
- 史上最详细的Android Studio系列教程(四)--Gradle基础
- mongo查询某个字段是否存在,并删除记录里的这个字段
- Hadoop 的常用组件一览
- Android使用Activity用作弹出式对话框
- 让应用程序得到最佳性能的排序
- Cocos2dx-JS 在 Sprite 上使用 Shader
- Ubuntu与Debian下apt-get软件安装与删除的相关命令
- 初次体验Jquery(Ajax + Json)+Struts2
- [boost][caffe] boost::thread_specific_ptr
- 史上最详细的Android Studio系列教程(五)--Gradle命令详解与导入第三方包
- IOS使用carthage小结
- linux归档和压缩
- SSZipArchive使用
- Linux网络编程入门