金属着色语言中的浮点数比较

时间:2018-06-30 18:28:36

标签: ios shader metal

是否有一种比较简单的方法来比较金属阴影语言中的两个浮点?

我当前乘以1000,然后转换为int以获取整数比较。

git

我追求的是:Unity中的Mathf.Approximately

1 个答案:

答案 0 :(得分:1)

一种常见的技术是将绝对差异与所需的精度进行比较:

if (fabs(color.r - 50.0/255.0) < 1.0/1000.0) ...

您当然可以为此定义一个函数,而不必在各处重复进行。

您当前的技术不好,因为它会进行整数截断。这两个值可能非常接近,但是在整数的任一侧,并且它们将比较为不相等,因为一个值将被截断为下面的整数。例如4.9999和5.0001。