-1

可能重复:
如何使用 OpenGL 加载 8 位 bmp?

我需要尽可能多地加载大量图像,然后将它们作为动画播放。因此,我想最小化每个图像的大小。

我的问题是,如果我加载 jpeg 图像文件,我的机器会将其存储为 bmp 格式吗?目前,我正在使用 OpenGL 加载 bmp 图像(每个大约 3.5 MB)。600 个 bmp 文件已经超出了我的记忆。我怎样才能加载更多,比如 2000。

4

2 回答 2

0

您可以考虑以更适合动画的格式存储图像。想到了视频。

如果您只需要一次图像 - 显示后立即从内存中丢弃它们。

使用 DXT 打包图像。随着质量的轻微下降,您将获得 x4/x8 压缩比。

检查你的 OpenGL 设置,你是否使用自动生成的 mipmap,你需要它们吗?

于 2012-08-16T05:31:25.723 回答
0

我的问题是,如果我加载 jpeg 图像文件,我的机器会将其存储为 bmp 格式吗?

您的机器会将其作为原始像素保存在内存中,除非您使用的是压缩纹理格式,但这与 JPEG 有很大不同。

文件格式对硬件和 OpenGL 没有意义。

我怎样才能加载更多,比如 2000。

你不应该。如果您正在播放动画,请在该图像显示时加载图像,然后将其删除。对于 OpenGL,您应该使用它glTexSubImage2D来替换纹理对象的内容。

于 2012-08-16T09:52:19.647 回答