粒子着色器

粒子着色器是一种特殊类型的顶点着色器, 在物体被绘制之前运行. 它们用于计算材质属性, 如颜色, 位置和旋转. 它们与CanvasItem或Spatial的任何常规材质一起绘制, 这取决于它们是2D还是3D. 粒子着色器是独特的, 因为它们不用于绘制对象本身;被用来计算粒子的性质, 然后由空间着色器的画布组件使用. 它们只包含一个顶点处理器函数, 输出多个属性的内置函数(见下文). 粒子着色器使用转换反馈着色器, 这是一种单独运行的特殊类型的顶点着色器. 它像普通顶点着色器那样在缓冲区中接受数据, 但是也输出到数据缓冲区, 而不是输出到片段着色器进行像素处理. 正因为如此, 转换反馈着色器可以在每次运行时自行构建, 与其他着色器不同, 其他着色器一旦绘制到帧缓冲区, 就会丢弃它们计算的数据. 注解 CPUParticles.

渲染模式

内置

标记为 “in” 的值是只读的. 标记为 “out” 的值是可以选择写入的, 不一定包含合理的值. 标记为 “inout” 的值提供一个合理的默认值, 并且可以选择写入. 采样器不是写入的对象, 它们没有被标记.

全局内置

全局内置的功能随处可见, 包括自定义功能.

顶点内置

COLOR 变量, 将 use_vertex_as_albedo 设置为 true . 在ShaderMaterial中, 用 COLOR 变量访问它.