gpt4 book ai didi

XNA 2D 相机性能

转载 作者:行者123 更新时间:2023-12-04 06:21:32 25 4
gpt4 key购买 nike

我想知道在 SpriteBatch.Begin() 中使用变换矩阵是渲染整个世界还是仅渲染视口(viewport)定义的区域?如果不是,那么在没有严重性能问题的情况下渲染一个巨大的世界的最佳方法是什么?

提前致谢!

最佳答案

您可以计算出此视口(viewport)的边界矩形,而无需在矩形之外绘制任何内容。如果您的世界是基于网格的,这将变得更加容易。

对于 基于网格 世界,你需要两个(嵌套的)for循环来绘制视口(viewport)、宽度和高度。
对于每个循环,您都需要一个起点和一个终点。

要获得每个循环的起点:将(宽度/高度)除以网格中单元格的(宽度/高度),然后“下限”这个数字。

要获得每个循环的终点:将(宽度/高度)除以网格中单元格的(宽度/高度),然后“上限”这个数字。

从那里,您可以使用之前计算的起点和终点简单地正常绘制网格。

如果你的世界不是 基于网格,您可以使用简单的“矩形中的点”测试或八叉树。

关于XNA 2D 相机性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6488193/

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