gpt4 book ai didi

c++ - 全高清 2D 纹理内存 OpenGL

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:32:33 26 4
gpt4 key购买 nike

我正在为一家艺术家公司编写具有全高清功能的 2D 引擎,该引擎有望跨平台并使用 OpenGL 和 C++ 编写。

我遇到的主要问题是如何处理所有这些高清 Sprite 。艺术家以 24fps 的速度绘制图形,并将它们导出为 png 序列。我已将它们转换为 DDS(不理想,因为它需要加载 directx header )DXT5,这大大减少了文件大小。游戏中的某些场景一次可以有 5 或 6 个动画 Sprite ,这些 Sprite 可以每个 包含 200 多帧。目前我正在将 Sprite 加载到一个指针数组中,但这加载时间太长,即使使用压缩纹理也是如此,并且使用相当多的内存(完整场景大约 500mb)。

所以我的问题是,对于如何处理如此大量的帧,您有什么想法或提示吗?我想到了几个想法:

  • 使用 swf 格式存储来自 Flash 的帧
  • 实现 2D 骨骼动画系统,替换 png 序列(我担心关节可见)

像 CaSTLe Crashers 这样的游戏如何以出色的高清图像加载得如此之快?

最佳答案

首先要记住的是,并非所有平台都支持 DXT5(特别是手机)。

除此之外,您是否考虑过使用 zlib 之类的工具来压缩纹理?纹理可能会有相当程度的自相似性,这意味着它们会压缩很多。在当今时代,由于处理器的速度,解压缩很便宜,而且从磁盘上提取数据所节省的时间远比解压缩所浪费的时间有用得多。

如果我是你,我会从那里开始。

关于c++ - 全高清 2D 纹理内存 OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7335746/

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