Surface 格式 (Direct3D 9)
在 Direct3D 中,所有二维(2D)图像都由称为图面的线性内存范围表示。 图面可视为二维数组,其中每个元素保存一个表示图像小部分的颜色值,称为像素。 图像的详细信息级别由表示图像所需的像素数和图像的光谱所需的位数定义。 例如,每个像素的 32 位颜色(以 800x600x32 形式写入)的宽度为 800 像素、高 600 像素的图像(以 640x600x32 形式写入)的图像将比每像素高 640 像素、16 位颜色的图像更详细(写入 640x480x16)。 同样,更详细的图像将需要更大的图面来存储数据。 对于 800x600x32 图像,表面的数组尺寸将为 800x600,每个元素将保留 32 位值来表示其颜色。
所有图面的大小和存储表示颜色的特定位数。 表示颜色的位将分隔为单独的颜色元素:红色、绿色和蓝色。 在 Direct3D 中,所有颜色元素都由 D3DFORMAT 枚举类型定义。 Direct3D 颜色格式细分为为每个颜色保留的字节数。 例如,Direct3D 中的 16 位颜色格式定义为D3DFMT_R5G6B5,其中 5 位用于红色(R)、6 位表示绿色(G)和 5 位(B)。
相关主题