我被要求将一些旧的HLSL代码(Shader Model 2.0 / 3.0)移植到另一种语言中。
代码中有一行显示为 - int(value)
或int(x)
。
但它似乎不是“转换为整数”或“返回整数”或类似命令。
任何人都知道int(x)
在旧版HLSL中的作用是什么?
非常感谢!
编辑:///////////
代码中的行显示为:
x = int(x / 12) * 12;
它似乎意图“步进”或“给”x的值...这应该与使用2个代码行相同;
int x2 = x / 12;
x = x2 * 12;
一个又一个但结果出来的不同 - 当我使用2行版本时,渲染的图像完全搞砸了。我或许可以完全删除这条线并用其他东西替换它......这不是一个非常关键的操作......但我很想知道是什么
x = int(x / 12) * 12;
实际上在HLSL Shader Model 2.0 / 3.0下的x值。谢谢你的帮助。
答案 0 :(得分:0)
这是一个构建模型,就像在C ++或C#中一样 - 通常type(arg)
通过从参数(或参数)构造该类型的值将参数转换为type
。