Surface 格式 (Direct3D 9)

在 Direct3D 中,所有二維 (2D) 影像都會以稱為表面的線性記憶體範圍來表示。 表面可視為 2D 陣列,其中每個元素都有代表影像社區段的色彩值,稱為圖元。 影像的詳細資料層級是由代表影像所需的圖元數目,以及影像的色彩範圍所需的位數所定義。 例如, 以 800 圖元寬 600 圖元為高 600 圖元的影像,每個圖元 (以 800x600x32) 寫入的色彩,會比 640 圖元寬 480 圖元高 480 圖元的影像更詳細,每個圖元的色彩為 16 位, (寫入為 640x480x16) 。 同樣地,更詳細的影像將需要較大的表面來儲存資料。 針對 800x600x32 影像,表面的陣列維度會是 800x600,而每個元素都會保留 32 位值來表示其色彩。

所有表面都有大小,並儲存代表色彩的特定位數。 代表色彩的位會分成個別的色彩元素:紅色、綠色和藍色。 在 Direct3D 中,所有色彩元素都是由 D3DFORMAT 列舉型別所定義。 Direct3D 色彩格式會細分為每個色彩保留的位元組數目。 例如,Direct3D 中的 16 位色彩格式定義為D3DFMT_R5G6B5,其中 5 位會保留給紅色 (R) 、6 位用於綠色 (G) ,而藍色 (B) 則為 5 位。

Direct3D 表面