cocos2d-x之字体描边效果shader实现
来源:互联网 发布:免费下载skype软件 编辑:程序博客网 时间:2024/05/22 07:33
#ifdef GL_ESprecision highp float;#endif uniform sampler2D u_texture;varying vec2 v_texCoord;varying vec4 v_fragmentColor;//模糊blur的步长,这里只是demo,正式使用由外部传入(uniform类型)const vec2 step = vec2(0.003, 0.002);void main(void){ //获得当前点的颜色 vec3 color = texture2D(u_texture, v_texCoord).rgb; //该权值用于自身对结果的影响 float weight = 30.0; //加入alpha权重,alpha越大,权值assess越小 float assess = pow(texture2D(u_texture, v_texCoord).a, 3)*weight; //开始计算平均alpha值 float alpha = assess; //以下为高斯模糊(仅对alpha) alpha += texture2D( u_texture, v_texCoord.st + vec2( -3.0*step.x, -3.0*step.y ) ).a;alpha += texture2D( u_texture, v_texCoord.st + vec2( -2.0*step.x, -2.0*step.y ) ).a;alpha += texture2D( u_texture, v_texCoord.st + vec2( -1.0*step.x, -1.0*step.y ) ).a;alpha += texture2D( u_texture, v_texCoord.st + vec2( 0.0 , 0.0) ).a;alpha += texture2D( u_texture, v_texCoord.st + vec2( 1.0*step.x, 1.0*step.y ) ).a;alpha += texture2D( u_texture, v_texCoord.st + vec2( 2.0*step.x, 2.0*step.y ) ).a;alpha += texture2D( u_texture, v_texCoord.st + vec2( 3.0*step.x, -3.0*step.y ) ).a;alpha /= 7.0+assess;//alpha越大,对颜色影响越小 color = clamp(color + (alpha - 1.0), 0, 1.0); //进一步加强颜色的区分 color = pow(color, vec3(3.0, 3.0, 3.0)); //输出 gl_FragColor = vec4(color.r, color.g, color.b, alpha);}
0 0
- cocos2d-x之字体描边效果shader实现
- COCOS2D-X字体描边
- cocos2d实现CCLabelTTF真正字体描边效果
- cocos2d实现CCLabelTTF真正字体描边效果
- cocos2d-x 打字效果 字体效果
- shader实现描边效果
- IOS游戏开发之cocos2d-x实现自定义字体
- 【Cocos2d-x】图片描边的一种比较好的shader实现方法
- 【Cocos2d-x】图片描边的一种比较好的shader实现方法
- cocos2d-x 字体描边CCRenderTexture glBlendFunc
- cocos2d-x 字体描边CCRenderTexture glBlendFunc
- cocos2d-x 字体描边CCRenderTexture glBlendFunc
- 【cocos2d-x笔记】CCLabelTTF 字体描边
- cocos2d-x 字体描边CCRenderTexture glBlendFunc
- cocos2d-x 字体描边CCRenderTexture glBlendFunc
- cocos2d-x用shader来实现阴影
- 【cocos2d-x 源码解析】shader 实现
- 【Cocos2d-x】实现翻牌效果
- Android模拟器启动不起来的原因
- qt多线程一个简单的例子
- 使嵌入式Qt支持中文字体变换的方法(makeqpf)
- java 通过反射reflect修改父类私有对象的值
- VMware Easy Install模式详细介绍
- cocos2d-x之字体描边效果shader实现
- 常用正则表式
- Linux SDK之uClinux、Broadcom、Atheros、Realtek、Ralink
- 关于Sate210/Sate210-F eMMC(iNand)核心板的android4.0 分区修改
- 题目1374:所有员工年龄排序
- ksoap2 传递复杂对象 复杂数据类型
- win7下完全卸载oracle11g
- 嵌入式操作系统内核原理和开发(总结篇)
- UVA 11549 - Calculator Conundrum(模拟+周期规律)