Значение pBits является указателем на фактические данные текстуры. Формат данных указывается вами при создании текстуры.
Шаг - это число байтов в одном ряду. Это не обязательно (хотя обычно и есть) ширина текстуры, умноженная на количество байтов на пиксель.
Таким образом, если вы создали текстуру D3DFMT_A32B32G32R32F, вы можете INDEED привести указатель pBits к указателю D3DXCOLOR и получить доступ к цветовым компонентам, таким как массив (т.е. color [count] .r и т. Д.).
Однако, если он 32-битный, вам понадобится структура, подобная следующей (я не уверен, что мои компоненты правильно расположены, но вы можете легко выяснить, каков правильный порядок)
struct ARGB
{
unsigned char a;
unsigned char r;
unsigned char g;
unsigned char b;
};
Затем вы можете привести pBits к указателю ARGB и получить к нему доступ таким же образом.
Все становится намного сложнее, когда вы вносите в него сжатые текстуры, но это основы.