[UnityShader基础]17.shader优化
Posted lyh916
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[UnityShader基础]17.shader优化相关的知识,希望对你有一定的参考价值。
参考链接:
https://blog.csdn.net/liu_if_else/article/details/77455639
https://www.zhihu.com/question/27084107
一.
1.使用step代替if
step(_MinX, posX),表示当_MinX<=posX时返回1,否则返回0
例如:float v = step(x,0.9);return v * func1(x) + (1 - v) * func2(x);
这样,当x<=0.9时返回func1(x);否则返回func2(x)
2.数值范围
float:最高精度的浮点值,通常使用32位来存储
half:中等精度的浮点值,通常使用16位来存储,精度范围是-60000 ~ +60000
fixed:最低精度的浮点值,通常使用11位来存储,精度范围是-2 ~ +2
可以使用fixed类型来存储颜色和单位矢量,如果要存储更大范围的数据可以选择half类型,最差情况下再选择使用float
以上是关于[UnityShader基础]17.shader优化的主要内容,如果未能解决你的问题,请参考以下文章
UnityShader基础案例——UI流光,扭曲,外边框,波纹效果