1

我正在开发一个可爱的益智应用程序 - http://gotoandplay.freeblog.hu/categories/compactTangram / - ,出于性能原因,我决定使用 OpenGL 渲染视图。我开始学习它,我对缓冲区、顶点、纹理以非常基本的方式感到满意。

情况: 游戏中用户操作7个puzzlePiece,每个有5个子层,以获得一些漂亮的灯光感觉。大多数纹理是 256x256。用户一次只操作一件,所以在玩的过程中其余部分保持不变。这里没有任何图形的应用程序骨架:http: //gotoandplay.freeblog.hu/archives/2009/11/11/compactTangram_v10_-_puzzle_completement_test/

问题: 我应该如何组织它们?在单独的帧缓冲区(?)/纹理(?)中“预绘制”实际片段状态是一个好主意,或者我可以在一个时间步内简单地重绘每个片段/层(1 + 7 * 5 = 36 sprite)?如果我使用“predraw”,那我该怎么办?绘制到 puzzePiece 帧缓冲区?那么如何将它绘制到场景帧缓冲区中呢?或者有没有更简单的方法来“合并”纹理?

希望你能理解我的问题,如果它看起来太暗淡,请在我的博客中看看我关于如何渲染实际作品的想法(我将要做的事情有一个简单的 flash 实现)在这里:http://gotoandplay .freeblog.hu/archives/2010/01/07/compactTangram_072_-_tan_rendering_labs/

4

1 回答 1

0

处理纹理的一种常见方法是在游戏/关卡开始时将所有图像打包到“纹理图集”中。

您的最大纹理大小为 1024x1024,您可以在 iPhone 的内存中存储大约三个。

当您拥有这些“超级纹理”中的所有图像时,您可以绘制大纹理的相关区域。这样做的好处是您不必经常绑定纹理并获得更好的性能,并且可以减少将小图像放入二次方大小的纹理所需的任何多余空间。

于 2010-01-28T13:45:46.943 回答