OPENGL 中纹理的 SDL_PIXELFORMAT_ABGR1555 的等效像素格式是什么?

问题描述 投票:0回答:1

我有一个游戏,将 ABGR1555 类型的颜色值输出到帧缓冲区,到目前为止,我一直在使用 SDL2 进行图形处理(绘制纹理),并且它可以方便地选择处理颜色格式(SDL_PIXELFORMAT_ABGR1555),但我'我最近转向了 opengl 3,一切似乎都很顺利,除了当我尝试渲染纹理时,我在让 opengl 以 ABGR1555 的形式解释颜色值时遇到了麻烦。

这是我迄今为止尝试过的方法,但不起作用,我不确定我应该做什么

    glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_TRUE);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB5_A1, WIDTH, HEIGHT, 0, GL_RGBA, GL_UNSIGNED_SHORT_1_5_5_5, texture);

我希望 opengl 将帧缓冲区中的颜色值解释为 ABGR1555,即我想要 SDL_PIXELFORMAT_ABGR1555 的等效值,但我不知道如何到达那里。我非常感谢对此的帮助

opengl format pixel sdl-2 opengl-3
1个回答
0
投票

在加载具有这种格式的 DDS 文件时刚刚遇到类似的问题,我能够使用以下参数使其工作:

像素内部格式:GL_BGRA 像素格式:GL_RGB5_A1 像素类型:UnsignedShort1555Reversed

必须先调用:glPixelStore(GL_UNPACK_ROW_LENGTH, Width);

© www.soinside.com 2019 - 2024. All rights reserved.