gpt4 book ai didi

graphics - 用于游戏的大型缓慢旋转的行星图形

转载 作者:行者123 更新时间:2023-12-02 14:41:38 24 4
gpt4 key购买 nike

对于我正在开发的电脑游戏,我想绘制非常大(~500 px)的缓慢旋转的行星图形。这些图形旨在给人留下深刻的印象。最好的方法是什么?

  • 我可以预渲染每一帧,但在 500 像素和 10 秒的旋转周期下,每个行星的数据量非常可笑。
  • 我可以使用 3D 引擎并将行星的纹理映射到接近球体的网格上,但在 500 像素时,我担心多边形数量必须很大才能使其看起来不错。
  • 我可以编写一种自定义 3D 引擎,它除了通过将每个 View 像素的 x/y 坐标转换为球体纹理的坐标空间来有效地渲染纹理球体之外什么都不做 - 但这是涉及到的,并且不能'受益于图形加速。
  • 还有什么我没想到的吗?

下面是一个动画 GIF 示例,可以说明我的意思。 (抱歉,在 100x100 像素和 60 帧下,它已经相当大了。)想象一下,它更大、旋转得更慢、动画更流畅:

alt text

但如果这是 500x500 像素和 10 x 25 = 250 帧,我们将讨论数百 MB 的数据,因此这种简单的方法不起作用。

最佳答案

Fracplanet可以保存“球体贴图”纹理贴图(和凹凸贴图);请参阅 gallery 底部的图像。这些旨在随后被读入应用程序并映射到相对较低分辨率的球体几何图形上,以实现我认为您正在寻找的效果。与预渲染动画方法或使用原始全分辨率多边形模型相比,此方法将使用更少的内存。

是的,这基本上是您的第二个要点,但我不会这么快就排除这种方法,我认为您会发现您可以使用比您预期的分辨率更低的球体;眼睛注意到纹理中的精细细节远多于注意到其所覆盖的几何体的低分辨率。现代tessellation hardware意味着无论如何你都可以让 GPU 轻松地为球体生成和渲染数量惊人的多边形。

替代想法:渲染一个足够大的方形四边形以覆盖地球。对于其中的每个像素,执行一个像素着色器来计算屏幕-光线-球体交点(如果有)。从行星纹理中查找颜色(考虑时间和行星旋转)。避免需要大量多边形并获得精确的球体。

关于graphics - 用于游戏的大型缓慢旋转的行星图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4473262/

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