godot 随机地图3-搬运shadertoy
godot论坛在19年定下了一个小目标,尽可能的和shadertoy对其。

一下为shadertoy的代码,基本不需要改。
1、mainImage 改为 fragment ,fragment是着色,也就是按照像素点上色。
2、其次 uv在shadertoy是获取屏幕大小再计算的,godotshader已经被注册为关键词
3、因为图片是在动的,shadertoy已经注册关键词iTime,godot注册了TIME

得到如下:


1、收线这个是手搓noise,左上角使用的是godot的没有调参的fastnoise。
2、随着时间他会变化
3、更加的流畅。
如果想熟练使用noise,我已经做了一个简单的图解教程。手搓难度并不高。
包括noise和cellular
https://www.bilibili.com/read/cv17980358
https://www.bilibili.com/read/cv18055369
当然做这些学术类型的事情,没有科学上网+edge自动翻译,难度有点高。
godotshader有一些奇怪的设定
全局不能有变量,变量只能连接到cpu中。const和uniform是合法的。

vertex为注册的函数名,处理顶点信息,不过他不能调用在它下面注册的noise函数。

这也就是godotshader 不能随随便便把参数写在外面,不能把函数和参数写在一起。保证会一饼粘。
总的来说。godotshader 继承了很多c的特性,并且有针性讨好shadertoy用户,这群人本身就是geeker,到现在,越来越不推荐新手使用godot,这门槛有点过高了,没有c/c++的编程基础,并且没写过游戏引擎,并且没手搓glsl,我推荐unreal。
unreal是一个成熟的商业化引擎,入门很轻松,深入也不难。
godot是一个geeker专用魔改引擎,得有过硬的编程知识和游戏引擎经验。新手入门过于浅显,然后爬升难度直接拉满。理念对接geeker,面对对象就是一个人就能开发游戏的天才选手。
对于新手我推荐数量掌握cocos2D引擎后,再碰godot。当然也可以学习godot的理念,以提高其他游戏引擎,但是他们的godot都精通还不精通其他各大引擎。cocos2D有成熟的社区,还有c++版本,超低的魔改成本,他的框架很传统。学习成本也低很多。