[shader]cocoscreator制作 2D伪灯光

学习学习思路~~~感谢

2d光参考 https://www.cnblogs.com/mmc1206x/p/11784206.html

##守墓人 http://www.gamelook.com.cn/2018/11/342650

mark!

大佬,请问一下 怎么创建多个光源的? 貌似shader传不了 数组吧?

所以,我创建了20多个灯光。就是shader里面复制复制复制…

1赞

优秀

大佬分享个creator3.6版的撒,2.4.2版本和3x的版本差异太大了,拿过去也不知道怎么改

这个变动不大吧~。再难花一两天

我用3.6.2试着改了一个,但是怎么运行一下都是一抹黑,大佬帮我看看呗effect.zip (1.3 KB)

CocosCreatorShader: 大道至简,殊途同归。 CocosCreatorShader意图在于帮助不会Shader的用户能够快速了解如何使用Cocos Effect。 CocosCreatorShader intends to help users who do not know Shader quickly understand how to use Cocos Effect. 3.7版本的

1赞

这可是个好东西

shader 传入数组的话需要先设置 this.miwuMaterial.setProperty(“roadLight”, new Float32Array(16)); 这个不用设置好像也没关系
类似于这种 然后创建 16 个长度的数组 再 setProperty 一下,
shader 里面的类型就是
uniform ARGS {
vec4 roadLight[16];
};
注意长度不要错了, 一个 vec4 占用 4 个长度, 就可以连续传入 4 个位置坐标, 读取的话就是
roadLight[0].x roadLight[0].y, roadLight[0].z, roadLight[0].w 后面依次按数组取值读取

1赞