Я начинаю добавлять поддержку d3d10, чтобы дополнить мой существующий графический интерфейс d3d9.
Проблема в том, что весь существующий код (в нескольких приложениях ...) использует цвета в формате ARGB, однако я не смог найти режим форматирования, соответствующий d3d10. D3d10 вообще не поддерживает цветовые форматы ARGB или я что-то пропустил? Если я пропустил что-то, что является хорошим способом преобразования между ними, просто требуется, чтобы первый байт был перемещен до конца, это кажется довольно простой концепцией, однако я не вижу возможности сделать это иначе, чем разбивать цвет на его компоненты. и восстановить его ... например:
//unsigned colIn, colOut
unsigned char
a = (colIn & 0xFF000000) >> 24,
r = (colIn & 0x00FF0000) >> 16,
g = (colIn & 0x0000FF00) >> 8,
b = (colIn & 0x000000FF);
colOut = (r << 24) | (g << 16) | (b << 8) | a;