共用方式為


輸出快取器

  • 頂點色彩快取器
  • 霧緩存器
  • 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),紋理座標範圍取決於指令和像素著色器版本。

頂點著色器緩存器