gpu是以四維向量為基本單位來計算的。4個浮點數所組成的float4向量是gpu內建的最基本型別。使用gpu對兩個float4向量進行計算,與cpu對兩個整數或兩個浮點數進行計算一樣簡單,都是只需要乙個指令就可以完成。
hlsh的基本資料型別定義了float、int和bool等非向量型別,但是它們實際上都會被complier轉換成float4的向量,
只要把float4向量的其中3個數值忽略,就可以把float4型別作為標量使用。
使用貼圖座標時,只需要二維向量,hlsl定義了float2型別作為二維向量使用。
shader經常會用到矩陣,hlsl有乙個內建型別float4x4,它可以用來表示乙個4*4矩陣。float4x4並不是gpu的內建型別,float4x4實際上是由4個float4所組成的陣列。其他的還有float3x3、float2x2,分表代表3*3矩陣、2*2矩陣。
shader也可以宣告陣列,4*4矩陣實際上就是乙個float4 m[4]的陣列。注意,shader中的所有的變數都使用暫存器,沒有其他記憶體空間可以使用,所以越大的陣列會占用越多的暫存器,甚至會超出暫存器的數量限制。
在使用float4向量中的個別數值時,可以用xyzw或rgba,都可以用來表示四維向量中的數值。但不能把它們混用,例如不能用xyba,把它視為顏色時就用rgba,否則就是用xyzw,不能把這二者混合使用。
----摘自《3d繪圖程式設計
posted on 2016-12-06 11:19收藏
float資料型別
學習一門語言都要打好基礎,前面的知識可能看著無聊,但是很重要,能夠讓我們打好堅實的基礎,一定要掌握int float long 字串 列表 元組 集合 字典 函式和類的基礎常用的操作。下面來看一看float資料型別都有那些常用的操作,以及和int不一樣的地方 1.as integer ratio d...
Golang 資料型別 float型別
1.1.1基本介紹 小數型別就是用於存放小數的,比如 1.2 0.23 1.911 案例演示 1.2小數型別分類 對上圖的說明 1 關於浮點數在機器中存放形式的簡單說明,浮點數 符號位 指數字 尾數字說明 浮點數都是有符號的.2 尾數部分可能丟失,造成精度損失。123.0000901 說明 floa...
4 資料型別
mysql資料管理系統提供了資料型別決定表儲存資料的型別。mysql資料庫管理系統除了支援標準sql中的所有整數型別 smallint和int 外,還進行了相應的擴充套件,擴充套件後增加量tinyint mendiumint和bigint這三個整數型別。整數型別 位元組最小值 最大值tinyint ...