Direct3D 10 的座標系統會針對圖元和紋素定義。
Direct3D 9 與 Direct3D 10 之間的差異:
- Direct3D 10 會將左上角的左上角定義為轉譯目標的原點。
- Direct3D 9 會將左上角圖元的中心定義為轉譯目標的原點。
圖元座標系統
Direct3D 10 中的圖元座標系統會定義左上角轉譯目標的原點。 如下圖所示。 圖元中心會從整數位置位移(0.5f,0.5f)。
direct3d 10圖表
Direct3D 9 的像素座標系統
如需參考,以下是 Direct3D 9 的圖元座標系統,其會將原點或轉譯目標定義為左上方圖元的中心(0.5,0.5),如下圖所示。 在 Direct3D 9 中,圖元中心位於整數位置。
direct3d 9圖表
紋素座標系統
紋素座標系統其原點位於紋理左上角,如下圖所示。 這使得轉譯螢幕對齊紋理變得微不足道(在 Direct3D 10 中),因為圖元座標系統與紋素座標系統對齊。
紋素座標系統的 
紋素座標系統
紋理座標會以正規化或縮放數位表示;每個紋理座標都會對應至特定的材質,如下所示:
針對標準化座標:
- 點取樣:紋素 # = floor(U * 寬度)
- 線性取樣:左紋素 # = floor(U * Width),右紋素 # = 左紋素 # + 1
針對縮放座標:
- 點取樣:紋素 # = floor(U)
- 線性取樣:左紋素 # = floor(U - 0.5),右紋素 # = 左紋素 # + 1
其中寬度,是紋理的寬度(以材質為單位)。
紋理位址換行會在計算紋素位置之後發生。
相關主題