CocosCreator精灵高亮&变灰
来源:互联网 发布:js防水涂料基层处理 编辑:程序博客网 时间:2024/04/28 20:29
var grayShader = { vShader: "attribute vec4 a_position; \nattribute vec2 a_texCoord; \nattribute vec4 a_color; \nvarying vec4 v_fragmentColor;\nvarying vec2 v_texCoord;\nvoid main() \n{ \ngl_Position = CC_PMatrix * a_position;\nv_fragmentColor = a_color;\nv_texCoord = a_texCoord;\n}", fShader: "varying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \n//uniform sampler2D CC_Texture0; \nvoid main() \n{ \nvec4 v_orColor = v_fragmentColor * texture2D(CC_Texture0, v_texCoord);\nfloat gray = dot(v_orColor.rgb, vec3(0.299, 0.587, 0.114));\ngl_FragColor = vec4(gray, gray, gray, v_orColor.a);\n}"};var highLightShader = { vShader: "attribute vec4 a_position; \nattribute vec2 a_texCoord; \nattribute vec4 a_color; \nvarying vec4 v_fragmentColor;\nvarying vec2 v_texCoord;\nvoid main() \n{ \ngl_Position = CC_PMatrix * a_position;\nv_fragmentColor = a_color;\nv_texCoord = a_texCoord;\n}", fShader: "varying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \n//uniform sampler2D CC_Texture0; \nvoid main() \n{ \nvec4 v_orColor = v_fragmentColor * texture2D(CC_Texture0, v_texCoord);\nfloat gray = dot(v_orColor.rgb, vec3(0.8, 0.9, 0.85));\ngl_FragColor = vec4(v_orColor.r+0.08, v_orColor.g+0.08, v_orColor.b+0.08, v_orColor.a+0.015);\n}"};
var normalShader = { vShader: "attribute vec4 a_position; \nattribute vec2 a_texCoord; \nattribute vec4 a_color; \nvarying vec4 v_fragmentColor;\nvarying vec2 v_texCoord;\nvoid main() \n{ \ngl_Position = CC_PMatrix * a_position;\nv_fragmentColor = a_color;\nv_texCoord = a_texCoord;\n}", fShader: "varying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \n//uniform sampler2D CC_Texture0; \nvoid main() \n{ \nvec4 v_orColor = v_fragmentColor * texture2D(CC_Texture0, v_texCoord);\nfloat gray = dot(v_orColor.rgb, vec3(0.8, 0.9, 0.85));\ngl_FragColor = vec4(v_orColor.r, v_orColor.g, v_orColor.b, v_orColor.a);\n}"};
var program = new cc.GLProgram();program.initWithVertexShaderByteArray(highLightShader.vShader, highLightShader.fShader);program.addAttribute(cc.macro.ATTRIBUTE_NAME_POSITION, cc.macro.VERTEX_ATTRIB_POSITION);program.addAttribute(cc.macro.ATTRIBUTE_NAME_COLOR, cc.macro.VERTEX_ATTRIB_COLOR);program.addAttribute(cc.macro.ATTRIBUTE_NAME_TEX_COORD, cc.macro.VERTEX_ATTRIB_TEX_COORDS);program.link();program.updateUniforms();sprite._sgNode.shaderProgram = program;
//补充:
真机上将program.initWithVertexShaderByteArray(highLightShader.vShader, highLightShader.fShader);
改为
program.initWithString(highLightShader.vShader, highLightShader.fShader);
否则报错: i.initWithVertexShaderByteArray is not a function
0 0
- CocosCreator精灵高亮&变灰
- 精灵变灰效果
- 精灵变灰
- cocos2dx精灵变灰
- cocos2d-x 精灵变灰
- Cocos2d-x 精灵变灰效果
- Cocos-2dx精灵部分变灰
- Cocos2dx 使用Shader使精灵变灰
- Cocos2d-x 精灵变灰效果,黑白精灵
- 如何使控件背景变灰,高亮显示自己
- Shader 边缘发光、变灰、高亮着色器
- Shader 边缘发光、变灰、高亮着色器
- cocos2d-x精灵加亮及变灰效果
- Cocos2d-x 让精灵图像变灰的方法
- cocos2d-x,Shader的用法:精灵变灰
- cocos2d-x 使用Shader让精灵变灰
- [iuud8]基于cocos2dx3.2精灵变灰的shader效果
- cocos2d-x一个函数实现精灵变灰效果
- LeetCode-----61. Rotate List(循环旋转链表)
- Highcharts绘图在项目中的运用
- JAVA实例-登录页面验证码与点击切换
- JavaScript中通过提示框跳转页面的方法
- 挂起某个进程中所有线程的方法
- CocosCreator精灵高亮&变灰
- tf.app.run()
- 自己写的一个ISOdata分类方法
- linux 安装zip unzip 和 使用
- 大型网站技术架构(2):架构要素和高性能架构
- ofo in the city
- ps巧用蒙版抠出头发边缘
- Android开发-Retrofit-AndroidStudio(一)百度首页解析
- C# webservices 之发布调用【4】