首先了解一下shader中需要用到的变量类型
1.float:32位单精度的数据类型,是3个类型中最慢的,同时对应的坐标类型为float2,float3,float4.
2.half :16位浮点类型,速度比float快得多,范围是[-6万, +6万],能精确到十进制的小数点后3.3位,相似得坐标类型为half2,half3, half4.
3.fixed:通常是11位,范围是-2.0至 2.0,精度为1/256,它是3个类型中最小的,也是最快的,同样的坐标类型为:fixed2,fixed3,fixed4.
我们优化shader的时候,第一步就是优化它的数据类型 根据自己的需要,运用足够精度的操作数类型,并减少不必要的类型转换。这样,我们的代码将会更高效,游戏也会更流畅
光照计算,颜色,单位长度的向量: fixed(精度为1/256)
uv 以及大多数fixed满足不了的 : half (它的精度可以满足大部分需求了)
实在满足不了的变量 : float
扫描二维码关注公众号,回复:
1755687 查看本文章