gpt4 book ai didi

c++ - BGRA -> RGBA 和垂直翻转,OptiX

转载 作者:行者123 更新时间:2023-11-30 01:23:14 24 4
gpt4 key购买 nike

我有一个缓冲区,其中包含一个“原始”BGRA 纹理,每种颜色一个字节。线条顺序相反(纹理颠倒)。

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];
}
}

但是渲染的结果不是全绿屏,而是这样的:

我在这里做错了什么?

最佳答案

你的索引错误。

应该这样做:

rgba[(x + y * width) * 4]     = bgra[(x + y * width) * 4 + 2]

关于c++ - BGRA -> RGBA 和垂直翻转,OptiX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15262855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com