cocos2d-x 使用Shader让精灵变灰
来源:互联网 发布:聚橙网络上市 编辑:程序博客网 时间:2024/04/28 16:34
之前的Shader文件,在精灵修改透明度的时候有问题,这才想着记一下变灰的方法!
void GameColorSprite::setGrayMode(){ const GLchar* pszFragSource = "#ifdef GL_ES \n \ precision mediump float; \n \ #endif \n \ uniform sampler2D u_texture; \n \ varying vec2 v_texCoord; \n \ varying vec4 v_fragmentColor; \n \ void main(void) \n \ { \n \ // Convert to greyscale using NTSC weightings \n \ vec4 pixel = texture2D(u_texture, v_texCoord); \n \ float grey = dot(pixel.rgb, vec3(0.299, 0.587, 0.114)); \n \ float alpha = v_fragmentColor.a; \n\ gl_FragColor = vec4(grey * alpha, grey * alpha, grey * alpha, pixel.a * alpha); \n \ }"; CCGLProgram* pProgram = new CCGLProgram(); pProgram->initWithVertexShaderByteArray(ccPositionTextureColor_vert, pszFragSource); this->setShaderProgram(pProgram); pProgram->release(); CHECK_GL_ERROR_DEBUG(); this->getShaderProgram()->addAttribute(kCCAttributeNamePosition, kCCVertexAttrib_Position); this->getShaderProgram()->addAttribute(kCCAttributeNameColor, kCCVertexAttrib_Color); this->getShaderProgram()->addAttribute(kCCAttributeNameTexCoord, kCCVertexAttrib_TexCoords); CHECK_GL_ERROR_DEBUG(); this->getShaderProgram()->link(); CHECK_GL_ERROR_DEBUG(); this->getShaderProgram()->updateUniforms(); CHECK_GL_ERROR_DEBUG(); }
0 0
- cocos2d-x 使用Shader让精灵变灰
- cocos2d-x,Shader的用法:精灵变灰
- cocos2d-x 精灵变灰
- Cocos2d-x 让精灵图像变灰的方法
- Cocos2dx 使用Shader使精灵变灰
- Cocos2d-x 精灵变灰效果
- Cocos2d-x 精灵变灰效果,黑白精灵
- Cocos2d-x使用CCGLProgram和Shader文件实现精灵置灰
- Cocos2d-x 3.x Shader变暗和变灰
- cocos2d-x 2.x CCScale9Sprite shader渲染变灰方法
- cocos2d-x精灵加亮及变灰效果
- cocos2d-x一个函数实现精灵变灰效果
- cocos2d 3.X Shader 变暗和变灰
- cocos2d-x 图片变灰
- Cocos2d-x中使用Lua让CCSprite变灰(Gray)的简单办法,支持递归调用
- [iuud8]基于cocos2dx3.2精灵变灰的shader效果
- cocos2d-x图片变灰或者变亮
- 精灵变灰效果
- SpringMVC 开发过程问题总结-, 实体关系映射对象属性要用包装类Integer, Long ,Double
- Ios8 Xcode6 设置Launch Image 启动图片
- 使用canutils工具
- Androod和Web端通讯笔记(使用Gson)
- 五种常见的 PHP 设计模式
- cocos2d-x 使用Shader让精灵变灰
- 为什么这都能写错?!!!
- 第一篇
- 简单php中随机取出数组中不重复的值
- URAL 2011. Long Statement (数论)
- 一步步入门编写PHP扩展
- CANUTILS
- Android上的OpenGL ES 使用错误 解决
- matplotlib安装