Форматы Surface (Direct3D 9)
В Direct3D все двумерные (двухмерные) изображения представлены линейным диапазоном памяти, который называется поверхностью. Поверхность можно рассматривать как двухдисный массив, в котором каждый элемент содержит значение цвета, представляющее небольшой участок изображения, называемый пикселем. Уровень детализации изображения определяется как количеством пикселей, необходимым для представления изображения, так и количеством битов, необходимых для цветового спектра изображения. Например, изображение шириной 800 пикселей и высотой 600 пикселей с 32 битами цвета для каждого пикселя (записанное как 800x600x32) будет более подробным, чем изображение шириной 640 пикселей на 480 пикселей в высоту с 16 битами цвета для каждого пикселя (записано как 640x480x16). Кроме того, для более подробного изображения потребуется большая поверхность для хранения данных. Для изображения размером 800x600x32 размеры массива поверхности будут составлять 800 x 600, и каждый элемент будет содержать 32-разрядное значение, представляющее свой цвет.
Все поверхности имеют размер и хранят определенное количество битов, представляющих цвет. Биты, представляющие цвет, разделяются на отдельные элементы цвета: красный, зеленый и синий. В Direct3D все элементы цвета определяются перечисленным типом D3DFORMAT . Формат цвета Direct3D разбивается на количество byes, зарезервированных для каждого цвета. Например, 16-разрядный формат цвета в Direct3D определяется как D3DFMT_R5G6B5, где 5 бит зарезервированы для красного (R), 6 битов для зеленого (G) и 5 битов для синего (B).
Связанные темы