首页 > 编程语言 > 详细

[UnityShader基础]17.shader优化

时间:2021-06-13 23:47:34      阅读:29      评论:0      收藏:0      [点我收藏+]

参考链接:

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优化

原文:https://www.cnblogs.com/lyh916/p/14881149.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!