0
我读通过HLSL代码,试图弄清楚它是如何工作的,我碰到一些代码,看起来像这样走过来:HLSL:浮法赋值运算符比较
float aFloat = someVar > someConstant;
现在我想知道比较运算符在浮点赋值语句中做了什么。我知道HLSL是类C的,但我从来没有尝试过C,尽管我打算在将来给它一个镜头,所以对这个声明的任何见解也会对此有所帮助。
我读通过HLSL代码,试图弄清楚它是如何工作的,我碰到一些代码,看起来像这样走过来:HLSL:浮法赋值运算符比较
float aFloat = someVar > someConstant;
现在我想知道比较运算符在浮点赋值语句中做了什么。我知道HLSL是类C的,但我从来没有尝试过C,尽管我打算在将来给它一个镜头,所以对这个声明的任何见解也会对此有所帮助。
将评论发送给答案。
比较的结果是一个整数 - 0或1 - 因此分配给float的值将为0.0或1.0。
没有更多的上下文,不可能说出他们为什么这样做,但它是可靠和确定的。
比较结果是一个整数 - 0或1 - 因此分配给float的值将为0.0或1.0。 –
@JonathanLeffler我就是这么想的。我只是有点困惑,为什么他们将它分配给一个浮动而不是布尔。现在我猜测这只是为了让他们不必在以后的计算中投下它。感谢您确认我的怀疑。如果您将您的评论置于答案中,我很乐意将其标记为答案。 –