Godot Shader 05-了解shader

工作原理

对一个矩形区域操作
cpu下的代码执行方式:(依次执行)

for x in range(width):
  for y in range(height):
    set_color(x, y, some_color)

gpu执行方式: (并发执行)
每个像素都会执行一次这个函数

void fragment() {
  COLOR = some_color;
}

gpu运算优缺点

优点:

  • 位置顶点处理速度飞快
  • 处理颜色速度飞快
  • 处理光照效果速度飞快
  • 可处理大量的数学计算

缺点:

  • 不能网格外绘制
  • 不能在当前像素/顶点下处理其他像素/顶点
  • 不能存储上一次效果
  • 不能热更新? (update on the fly (they can, but they need to be compiled))

结构

godot下只有三个主函数vertex(), fragment(), light()
vertex()对每个网格上的顶点都进行处理
·fragment()·对每个像素处理
·light()·对光的反应进行处理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。