cocos shader 之 羽化从中间慢慢变亮

本文介绍了一个使用OpenGL ES技术实现的顶点着色器(VSH)和片段着色器(FSH)示例。该示例展示了如何在OpenGL ES环境中定义精度、属性变量以及如何通过着色器传递坐标、纹理坐标和颜色等信息。此外,还介绍了如何在片段着色器中应用距离函数和时间变化效果来生成特定的视觉效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VSH:

#ifdef OPENGL_ES
precision mediump vec2;
precision mediump float;
#endif

// Attributes
attribute vec3 a_position;
attribute vec2 a_texCoord;
attribute vec4 a_color;

// Varyings
#ifdef GL_ES
varying vec2 v_texCoord;
#else
varying vec2 v_texCoord;
#endif
varying vec4 v_fragmentColor;

void main()
{
    gl_Position = CC_PMatrix * vec4(a_position, 1.0);
    v_texCoord = a_texCoord;
    v_fragmentColor = a_color;
}


FSH:

#ifdef GL_ES
precision highp float;
#endif

varying vec2 v_texCoord;

void main(void)
{
    vec4 col = texture2D(CC_Texture0, v_texCoord);
    float fDiatance = distance( v_texCoord, vec2(0.5, 0.5) );
    gl_FragColor = vec4(0.0, 0.0, 0.0, smoothstep(0.0, 1.0-sin( CC_Time.z*0.5 ), abs(fDiatance)*0.5 ) );
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值