刚开始进入shader的学习,在这里给一些知识点做一个记录。
1.Unity2018中用 UnityObjectToClipPos(v) 替代了 mul(UNITY_MATRIX_MVP,v);
2.VS的Shaderlab插件下载地址:http://blog.shuiguzi.com/2014/10/28/Release/ 有shader代码提示和高亮显示。
3.关于_MainTex_TexelSize:
如果最终屏幕输出是1k x 2k 那么
_MainTex_TexelSize.x = 1/1024
_MainTex_TexelSize.y = 1/2048
所以_MainTex_TexelSize是可以快速取得屏幕上某个像素的值。
4.我们可以通过UNITY_UV_STARTS_AT_TOP 来判断当前平台是否是DirectX类型的平台;通过_MainTex_TexelSize.y 是否小于0来检验是否开启了抗锯齿。
5.关于float,half,fixed的使用,尽可能使用精度较低的类型。从他们大体的值域范围来看,使用fixed类型来储存颜色和单位向量,如果要存储更大范围的数据可以选择half类型,最差情况下载选择使用float。