gpt4 book ai didi

交换每个水平对绘制的 OpenGL 像素

转载 作者:行者123 更新时间:2023-12-02 05:19:31 30 4
gpt4 key购买 nike

我对 OpenGL 有点陌生,但我很确定我的问题在于所使用的像素格式,或者我的纹理是如何生成的......

我正在使用 16 位 RGB5_A1 像素格式在平面 2D 四边形上绘制纹理,但在这个阶段我没有使用任何 alpha。我遇到的问题是每对水平像素值都被交换

也就是说...如果像素位置应该按此顺序(假设 8x2 图像)

0 1 2 3 
4 5 6 7

它们被绘制为

1 0 3 2
5 4 7 6

或者,从这张图片(下图)看得更清楚。左边是我得到的……右边是我应该得到的。

.

问题是……我是怎么得到这个结果的?像素格式有问题吗?不太可能,因为所有颜色看起来都是正确的,如果它是字节序的,我会预料到各种讨厌的事情。非常感谢您的建议。

更新:原来问题出在我的源渲染器中。有趣的是,我已经通过使用 32 位纹理完全避免了这个问题(此时还没有尝试过 24 位)。

最佳答案

这可能与此无关,您已经找到了解决方法,但它可能与 OpenGL 解包对齐有关。您是否尝试过以下电话?指示每个图像行的对齐方式为 1 字节(默认为 4)。

glPixelStorei(GL_UNPACK_ALIGNMENT, 1);

关于交换每个水平对绘制的 OpenGL 像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4666202/

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