HLSL - 高级着色语言2.0中int(x)或int(value)的作用是什么?

时间:2017-04-22 16:20:40

标签: c gpu hlsl

我被要求将一些旧的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值。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

这是一个构建模型,就像在C ++或C#中一样 - 通常type(arg)通过从参数(或参数)构造该类型的值将参数转换为type