参考Unity的Standard Shader直接写个BRDF PBS的fragment shader,作为基础方便以后修改。
v2f结构
1 | struct v2f { |
顶点
1 | /// Vertex |
- 把uv都pack到TEXCOORD0
- 在顶点处建立tangentToWorld矩阵
BRDF
UnityStandardBRDF.cginc 的 BRDF1_Unity_PBS
1 |
|
Metallic & Specular
Metallic
1 | fixed4 metallicGlossTex = tex2D(_MetallicGlossMap, uv); |
Specular
1 | fixed4 specTex = tex2D(_SpecGlossMap, uv); |