2017-03-06 92 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。

沒有更多的上下文,不可能說出他們爲什麼這樣做,但它是可靠和確定的。