Unity Shader 手册
本文将逐篇翻译Unity-Manual:Shader Reference的内容。
Unity手册索引:
- 写surface shader
- 写顶点&片元 shader
- ShaderLab 语法
- Shader assets
- Advanced ShaderLab topics
文章索引:
- 写surface shader
- 写顶点&片元 shader
- ShaderLab 语法
- Shader assets
- Advanced ShaderLab topics
Shader Reference
在Unity中shader可以通过三种方式来写:
- 作为surface shaders
- 作为顶点和片元shader
- 作为fixed function shaders
Shader说明书会指导你来选择何种类型的shader
不管你选择的是哪种shader,实际的shader代码总会被包装为名为ShaderLab的语言,它是用来组织shader结构的,就像下面这样:
Shader "MyShader" {
Properties {
_MyTexture ("My Texture", 2D) = "white" { }
// other properties like colors or vectors go here as well
}
SubShader {
// here goes the 'meat' of your
// - surface shader or
// - vertex and program shader or
// - fixed function shader
}
SubShader {
// here goes a simpler version of the SubShader
// above than can run on older graphics cards
}
}
我们推荐您从阅读ShaderLab的基础理念和语法的章节开始,然后继续阅读surface shaders 或者 vertex and fragment shaders的章节。由于固定管线shader只能使用ShaderLab 编写,你将在ShaderLab手册里找到更多的信息。
手册下方包含了大量不同类型shader的例子。为了获取更多特殊的shader,你可以从从Resources section获取Unity’s built-in shaders的源码。Unity的post-processing特效组件,允许您使用shader创建更多有趣的特效。
继续阅读shader手册,并看看Shader说明书。