2017-04-22 46 views
0

我被要求将一些旧的HLSL代码(Shader Model 2.0/3.0)移植到另一种语言中。HLSL - 高级着色语言2.0中int(x)或int(value)的作用是什么?

代码中有一行代码为 - int(value)int(x)

但它似乎不是一个“转换为整数”或“返回整数”或类似的命令。

任何人都知道int(x)在老版本的HLSL中做什么?

非常感谢!

编辑:///////////

在代码行读取:

x = int(x/12) * 12;

似乎意在 “步骤” 或 “香椿” 的值的x ...这应该与使用2代码行相同;

​​

一个接一个,但结果出来不同 - 当我使用2行版本时呈现的图像完全拧紧。我也许能够完全删除这条线,并用别的东西......它不是一个非常关键的操作取代它......但我很好奇,想知道是什么

x = int(x/12) * 12;

实际上确实给价值x在HLSL Shader Model 2.0/3.0下。谢谢你的帮助。

+1

什么让你相信它不是一个'int'类型? – UnholySheep

+0

请不要将相关代码放入注释中,将其编辑到您的问题中,以便其他人可以立即看到它(也可以正确格式化) – UnholySheep

+0

已修复。为主要问题增加了代码示例。谢谢。 –

回答

0

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

相关问题