1
我有一個緩衝區包含一個「原始」BGRA紋理,每個顏色一個字節。 線條以相反的順序(紋理顛倒)。BGRA - > RGBA和垂直翻轉,OptiX
BGRA緩衝區全部爲綠色(0,255,0,255)。
我需要將其轉換爲RGBA並翻轉紋理線。 我嘗試這樣做:
// bgra is an unsigned char*
int width = 1366;
int height = 768;
unsigned char* rgba = new unsigned char[width * height * 4];
for(int y = height - 1; y >= 0; y--)
{
for(int x = 0; x < width; x++)
{
rgba[(x * y * 4)] = bgra[(x * y * 4) + 2];
rgba[(x * y * 4) + 1] = bgra[(x * y * 4) + 1];
rgba[(x * y * 4) + 2] = bgra[(x * y * 4)];
rgba[(x * y * 4) + 3] = bgra[(x * y * 4) + 3];
}
}
但渲染時的結果不是一個完整的綠色屏障,但這:
什麼可能我是錯在這裏幹什麼?
謝謝你,我的索引是關閉的。但是,那不是我唯一的問題。編輯的問題。 – EClaesson 2013-03-07 04:51:46
索引編制是個問題,它在代碼中也被打破了。謝謝。 – EClaesson 2013-03-07 05:47:13