-6

我正在制作一个 2d 平铺基础游戏,当我渲染许多平铺时,fps 会急剧下降。我知道为什么会发生这种情况,这是因为同时渲染了许多对象。我需要在正交视图中实现截锥剔除,但我不知道如何实现。

我浏览了许多网站,整天搜索。但我仍然找不到如何在 2d 游戏中实现截锥剔除。

注意:我正在使用 VBO。

4

3 回答 3

1

正交视图和透视视图之间的区别在于它们所代表的裁剪体积;对于透视,它是一个平截头体(或“方锥”),对于正交,它是一个简单的盒子。

你只需要一个简单的 AABB-AABB 测试来剔除你的精灵,它实际上非常简单。

于 2016-07-08T01:41:02.007 回答
0

迟到了,但对于那些需要它的人。

你的瓷砖有多大?在一个简单的 2D 游戏中,确实通常不需要平截头体剔除。

如果您确定剔除是问题所在,请将您的巨大瓷砖地图分成几个较小的瓷砖地图,然后只绘制那些在视图内的瓷砖地图。剩下的就是对每个 tilemap 部分进行简单的 AABB 检查。

于 2020-04-06T05:57:50.320 回答
0

如果它是一个简单的 2D 游戏,我相当确定你不需要平截头体,你能不能在你的渲染方法中只做一个 if 语句来检查瓷砖是否仍在相机的范围内,如果不是那么简单地做不渲染它们?

于 2016-07-07T10:51:56.427 回答