Shader float/half/fixed 如何選擇


float

高精度類型,32位,通常用於世界坐標下的位置,紋理UV,或涉及復雜函數的標量計算,如三角函數、冪運算等。

half

中精度類型,16位,數值范圍為[-60000,+60000],通常用於本地坐標下的位置、方向向量、HDR顏色等。

fixed

低精度類型,11位,數值范圍為[-2,+2],通常用於常規的顏色與貼圖,以及低精度間的一些運算變量等。

在PC平台不管你Shader中寫的是half還是fixed,統統都會被當作float來處理。half與fixed僅在一些移動設備上有效。
比較常用的一個規則是,除了位置和坐標用float以外,其余的全部用half。主要原因也是因為大部分的現代GPU只支持32位與16位,也就是說只支持float和half,不支持fixed。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM