c-如何在金属着色语言中使用modf函数



我需要将float的小数部分与整数部分分开。在C中,我可以使用modf来实现这一点。当我尝试在Metal Shading Language中使用相同的函数时,它会返回以下错误:

调用"modf"没有匹配函数

修复metal_math

按下";固定在metal_ math中";只会在metal_math文件中引发更多问题。有没有什么方法可以让我使用modf或其他方法来获得金属着色语言中的小数部分。这是我迄今为止使用金属着色语言编写的代码。

float f = <some float of undetermined precision>;
float decimal;
modf(f, &decimal);

您应该通过引用而不是地址传递值。将您的代码替换为:

modf(f, decimal);

最新更新