我开始添加 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;