文件
- 文件顶点,片段,几何和计算着色器文件应该分别有
_vert
, _frag
, geom
和 _comp
后缀(例如: eevee_film_fragg.glsl
)。 - Shader文件名必须是唯一的,并且必须以它们所属的模块作为前缀(例如:
workbench_material_lib.glsl
eevee_film_lib.glsl
)。 - 一个 shader 文件必须包含且只有一个
main()
函数。如果一个着色器文件不包含 main()
函数,它被认为是一个 着色器库,并且必须在其文件名中有 _lib
后缀。 - 将多个着色器之间共享的代码放入库文件中。
命名
- 对全局变量和函数使用描述性名称。
- 命名应该遵循
snake_case
约定。唯一的例外是类名(例如: ViewMatrices
)。 - 鉴于 GLSL 只有一个全局名称空间,请将
_lib.glsl
中所有的函数名添加 库名 作为前缀(例如: workbench_curvature_lib.glsl
中的 curvature_soft_clamp
)。 - 在变量名的开头使用通用词,在后缀中使用特定词。按字母顺序排序。
- 不要使用像
sampler
这样的保留关键词。