----最近在shadertoy上看到一些效果,想复刻到cocos creator3.x 上。在复刻的过程中遇到一些问题,再此记录分享一下。
----1.
#define TIME iTime
![]()
做像素动画一般都会遇到 iTime 这个变量。
在cocos creator 中可以使用 cc_time.x 代替。
![]()
----2.
#define RESOLUTION iResolution
![]()
渲染画布尺寸,


可以这样在属性列表中定义,在片源着色器中使用。
----3.

因shadertoy 效果都是写在片源着色器中,所以直接抄mainImage 里的代码到 effect 的 frag() 中。
返回 fragcolor 即可。
如图 
这里有一个地方需要注意:这里的 fragCoord是传入参数,在ccc中是从顶点着色器 通过uv 转化后得到的

----4.
还有就是 shadertoy 中的 chanel0 图片资源,对应就是 effect 中的mainTexture。
源码放在cocos资源商店中,感兴趣的可以前往下载。
目前还有些问题,有知道怎么处理的同学可以评论区分享一下。
1.如何使用music 声音代替问题。例如:Shader - Shadertoy BETA 这样的效果
2.还有BufferA 怎么在effect 中使用。
因工作较忙,后面有空也会持续学习研究,有更好的效果也会更新到cocos商城项目源码中
https://store.cocos.com/app/detail/6743