Unity Shader 的内置函数 sincos (x,out s,out c): 返回 x 的 sin 和 cos 值
fmod (x,y): 浮点数中 x/y 的余数
mul (x,y): 两个矩阵想乘
tex2D (sampler2D,UV): 一个 2d 的 Texture 和一堆 UV 坐标
saturate: 将值规范在 0,1 之间
lerp (a,b,c): 在 a,b 间线性插值取到点 c 的值

# Unity_ColorSpaceDouble

一般在混合细节贴图的时候会用到
这个值在 Gamma Color Space 时为 2, 在 Linear Color Space 时为 4.594 (2 的 2.2 次方)。透明通道的两个空间下都是 2.
对于这个值可以这样来理解。一般在 Gamma Color Space 中将两个 Color 值相乘后,为了避免颜色变得很暗,会在后面乘以 2. 也就是说,为了避免颜色变暗,应该扩大两倍,但是因为是在线性空间下,所以这个 2 要变成 4.594 (实际上不同颜色空间 Gamma Color 和 Linear Space下亮度是不同的) 所以Unity_ColorSpaceDouble乘上贴图颜色,无论哪个颜色空间最终都会返回正确的颜色.

更新于

请我喝[茶]~( ̄▽ ̄)~*

Solvarg 微信支付

微信支付

Solvarg 支付宝

支付宝

Solvarg 贝宝

贝宝