輸出快取器
- 頂點色彩快取器
- 霧緩存器
- Position_Register
- Point_Size_Register
- Texture_Coordinate_Register
緩存器名稱前面加上小寫字母 o,表示輸出緩存器是唯寫的。
頂點色彩快取器 - oD0, oD1
oD0 是擴散色彩緩存器。 oD1 是反射色彩緩存器。 oD0 值會插補,並寫入圖元著色器的輸入色彩快取器 0 (v0)。 oD1 值會插入並寫入圖元著色器的輸入色彩緩存器 1(v1)。 如需圖元著色器色彩緩存器的詳細資訊,請參閱緩存器。
頂點著色器版本 | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
頂點色彩快取器 | x | x | x | x |
Fog Register - oFog
輸出霧值快取器。 值是要插補的霧因數,然後路由傳送至霧表。 只會使用霧的純量 x 元件。 在傳遞至轉譯器之前,值會夾在零到一之間。
頂點著色器版本 | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
霧緩存器 | x | x | x | x |
位置快取器 - oPos
輸出位置快取器。 值是同質裁剪空間中的位置。 這個值必須由頂點著色器撰寫。
頂點著色器版本 | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
位置快取器 | x | x | x | x |
點大小快取器 - oPts
輸出點大小快取器。 只會使用點大小的純量 x 元件。
頂點著色器版本 | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
點大小快取器 | x | x | x | x |
紋理座標緩存器 - oT0 至 oT7
輸出紋理座標緩存器。 具體來說,這些是輸出數據緩存器的數位,這些緩存器會逐一查看,並由紋理取樣階段將數據路由傳送至圖元著色器,做為紋理座標。
頂點著色器版本 | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
紋理座標緩存器 | x | x | x | x |
寫入紋理座標緩存器時,建議只傳遞與對應紋理地圖維度一樣多的浮點值。 控制使用 修飾詞傳遞的值。 例如,針對 2D 紋理地圖使用 .xy。
當紋理投影啟用紋理階段時,所有四個浮點值都必須寫入對應的紋理緩存器。
使用可程式化管線時,任何D3DTTFF* 紋理轉換旗標都應該為零。
紋理座標範圍
對象頂點數據會提供輸入紋理座標。 未使用並排紋理的物件通常具有範圍 [0,1] 中的紋理座標。 使用並排紋理的物件,例如地形,通常會有介於 [-?,+?] 的紋理座標 哪裡? 可以是大型浮點數。
紋理座標插補會在點陣化的頂點數據上執行。 在點陣化期間,紋理座標會在物件頂點之間插補,藉由紋理換行和紋理大小縮放來修改,以產生整數索引。 接著會使用索引來執行紋理查閱。 MaxTextureRepeat 可用來判斷紋理可並排的次數。
如果紋理座標直接讀取到圖元著色器中(使用 texcoord 或 texcrd),紋理座標範圍取決於指令和像素著色器版本。
相關主題