为了开发一款电脑游戏,我想要绘制旋转缓慢的非常大(~500像素)行星图形。这些图形旨在给人留下深刻印象。那么最好的方法是什么呢?
- 我可以预先渲染每一帧,但是对于每个行星而言,在500像素和10秒的旋转周期内,这将产生荒谬的数据量。
- 我可以使用3D引擎,并将行星的纹理映射到逼近球体的网格上,但是在500像素的情况下,我担心多边形数量需要很大才能使其看起来不错。
- 我可以编写一种自定义的3D引擎,只需有效地渲染带纹理的球体即可,通过将每个视图像素的x / y坐标转换为球体纹理的坐标空间 - 但这很复杂,并且无法从图形加速中受益。
- 还有其他我没有想到的方法吗?
这里是一个动画GIF示例,展示了我的意思。 (100x100像素和60帧已经相当巨大,抱歉。)想象一下这个图像更大,旋转得更慢,动画更平滑:
但是如果这是500x500像素和10 x 25 = 250帧,我们将谈论数百MB的数据,因此这种简单的方法行不通。