2017-03-06 144 views
0

我读通过HLSL代码,试图弄清楚它是如何工作的,我碰到一些代码,看起来像这样走过来:HLSL:浮法赋值运算符比较

float aFloat = someVar > someConstant; 

现在我想知道比较运算符在浮点赋值语句中做了什么。我知道HLSL是类C的,但我从来没有尝试过C,尽管我打算在将来给它一个镜头,所以对这个声明的任何见解也会对此有所帮助。

+4

比较结果是一个整数 - 0或1 - 因此分配给float的值将为0.0或1.0。 –

+0

@JonathanLeffler我就是这么想的。我只是有点困惑,为什么他们将它分配给一个浮动而不是布尔。现在我猜测这只是为了让他们不必在以后的计算中投下它。感谢您确认我的怀疑。如果您将您的评论置于答案中,我很乐意将其标记为答案。 –

回答

1

将评论发送给答案。

比较的结果是一个整数 - 0或1 - 因此分配给float的值将为0.0或1.0。

没有更多的上下文,不可能说出他们为什么这样做,但它是可靠和确定的。