cocos2d-x中流光效果

本文介绍了如何在cocos2d-x游戏引擎中创建流光效果,包括使用shader代码、cocos2d-x的内核实现以及ShaderNode的详细用法。
摘要由CSDN通过智能技术生成

shader代码

#ifdef GL_ES                                
precision lowp float;                        
#endif                                        

uniform sampler2D u_texture;                
uniform sampler2D u_mask;               
uniform float factor;
uniform float width;                
uniform float offset;               
uniform vec3 color; 

varying vec4 v_fragmentColor;                
varying vec2 v_texCoord;

const float SQRT_2 = 1.414f;

void main()                                    
{                                            
    vec4 texColor = texture2D(u_texture, v_texCoord);
    // line (x+y-offset=0) offset:[0, 2] (2->0)
    //     |y
    //     |
    // ____|0___ 1___2____x
    //     |    |
    //     |____|*
    float distance = abs(v_texCoord[0]+v_texCoord[1]-offset)/SQRT_2; 
    // linear gradient 
    // (1/width)x + y = 1
    distance = 1.0f-(1.0f/width)*distance;
    distance = max(distance, 0.0f);

    vec4 sample = vec4(0.0f,0.0f,0.0f,0.0f);
    sample.rgb = color * distance;
    sample.a = distance;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值