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