1. clip( x)
解释:如果x<0,则剔除掉这个像素颜色,等于 if(x<a)discard;
2. lerp(a,b,f)
解释:a向b缓变,f为权重[0-1]的值,
例如:a是红色,b是黑色,当f为0.1时,接近红色,当f为0.9时,接近黑色
3. saturate(x)
解释:如果x小于0,则返回0;如果x大于1,则返回1;否则返回x
4. frac(x)
解释:返回标量或每个向量分量的小数部分。
5.saturate(x)方法
解释:如果x小于0,则返回0否则返回x
6.cull Off/Back/Front
解释:剔除关闭/剔除后方/剔除前方
7.clamp(x,a,b)
如果x 值小于 a,则返回a;如果 x 值大于 b,返回b;否则,返回 x
8.step(a, x)
如果 x<a,返回0;否则,返回1。
9.transpose(M)
M 为矩阵,计算其转置矩阵
10.length(v)
返回一个向量的模,即 sqrt(dot(v,v))
1.旋转公式:
顺时针旋转:x'=x*cosn - y*sinn
y'=x*sinn + y*cosn
逆时针旋转:x'=x*cosn + y*sinn
y'=x*sinn - y*cosn
2.
UnityObjectToClipPos(v.vertex) = mul(UNITY_MATRIX_MVP,v.vertex)
3.
struct appdata_base {
float4 vertex : POSITION;
float3 normal : NORMAL;
float4 texcoord : TEXCOORD0;
};
4.TRANSFORM_TEX是做什么的
解释:
o.uv = TRANSFORM_TEX(v.texcoord,_MainTex);
o.uv = v.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;