【发布时间】:2013-05-06 20:34:42
【问题描述】:
我目前正在开发一款软件,该软件通过拍摄多张图像然后将它们平铺到游戏地图中来生成游戏地图。现在我正在使用 OpenGL 来绘制这些地图。如您所知,在 OpenGL 中切换状态并进行多次绘制调用的成本很高。我决定实现一个纹理图集系统,这将允许我在一次绘制调用中绘制整个地图,而无需状态切换。但是,我在实现纹理图集时遇到了问题。首先,将每个 TILE 存储在纹理图集中还是图像本身更好?其次,并非所有图像都保证是正方形的,甚至是 2 的幂。我是否将它们填充到最接近的 2 次方、平方或两者?我担心的另一件事是图像可能会变得非常大,我担心超过 OpenGL 对纹理的大小限制,这将迫使我将地图拆分,破坏整个概念。
这是我到目前为止的概念:
-生成纹理
-绑定纹理
-生成足够大的图像以容纳纹理(考虑填充?)
-对纹理进行排序?
-将子纹理上传到空白纹理,存储偏移量
-解绑纹理
【问题讨论】:
-
这是一个很常见的问题,为什么不使用可用的工具呢?我认为 NVIDIA 提供了一些。