- 写在前面
本系列随笔是看化石大大的Unity Shader编程做的图书笔记,原课程地址:Unity Shader编程
- Shader简介
Shader直译的话意思是"着色器",是在可编程的渲染管线中对渲染过程进行控制的,具体怎样作用我们以后再说,现在我们先关注在Unity中用ShaderLab怎样实现一些常用的Shader功能.
- Diffuse
Diffuse的意思是漫反射,是Unity默认为每个物体使用的Shader,采用光照的模型是Lambert.
在Unity中新建一个Shader的话,其默认代码就是Diffuse,如下:
Shader"Custom/11.25"{ Properties{ _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf Lambert sampler2D _MainTex; struct Input{ float2 uv_MainTex; }; void surf(Input IN,inout SurfaceOutput o){ half4 c=tex2D(_MainTex,IN.uv_MainTex); o.Alpha=c.a; o.Albedo=c.rgb; } ENDCG } FallBack "Diffuse" }