godot computer shader noise1
1、准备工作

2、初始化

tips:
1、这里的 img.convert(Image.FORMAT_RGBA8)不能少,如果传入的jpg文件,是没有a通道的,在数据存放的时候,是 rgbrgbrgb这样排列的,这里烧了一个a,等device拿到数据分割,就会分割rgbr,gbrg,brgb,这样错误的情况。
2、image size 是我们管线的size
3、分配device的内存和设置uniform set

tips:
1、第一个0就是binding,我放到这里,方便set和后期修改的时候好用。
2、上传uniforms的时候,是以数组的方式上传的
3.1

tips:
1、写在里面了
2、uniform type image 会有一些其他解释,在godot中没有,但是在源码里面有注释
#https://github.com/godotengine/godot/blob/621d68e4129e7e343ff21eb3a5f4e8c1d6bbf456/servers/rendering/rendering_device.h#L745
4、运行和创建textureRect的texture

4.1

T1:uniformset的绑定,可以多个,所以我命名为uniform_set_0,至于用来干嘛,之后可以在名字上面改。
这里的uniformset可以绑定多个。
T2:list_dispatch就是这只总大小。
总结:
godot在分装opengl cs的时候,作者很有自己的见解,不过这个简介比使用opengl更麻烦了
我们可以简单看一下opengl的代码
https://learnopengl.com/Guest-Articles/2022/Compute-Shaders/Introduction



没错,godot compute shader 的难度,远远比opengl还要高。
但是我们可以看到,这已经在为后面的界面优化做准备了。
先的情况就是没有控制台的东东。等他更新就好了。