对于我正在开发的计算机游戏,我想绘制非常大(~500像素)的行星图形慢慢旋转.这些图形意味着令人印象深刻.这样做的最佳方法是什么?
这是一个动画GIF的例子我的意思.(在100x100像素和60帧时,它已经相当巨大,抱歉.)想象一下,这个更大,更大,旋转更慢,动画更流畅:

但如果这是500x500像素和10 x 25 = 250帧,我们将谈论数百MB的数据,所以这种简单的方法不起作用.
Fracplanet可以保存"spheremap"纹理贴图(和凹凸贴图); 看到画廊底部的图像.这些是随后读入应用程序并映射到相对低分辨率的球体几何体,以达到我认为你正在寻找的效果.此方法将使用比预渲染动画方法或使用原始全分辨率多边形模型更少的内存.
是的,这基本上是你的第二个要点,但我不会那么快地排除这种方法,我认为你会发现你可以获得比你预期的更低分辨率的球体; 眼睛注意到纹理中的精细细节远远超过它注意到它所覆盖的几何体的低分辨率.现代镶嵌硬件意味着您无论如何都可以让GPU轻松生成并为球体渲染一些荒谬的多边形.
另一种想法:渲染一个足够大的单个方形四边形多边形以覆盖行星.对于其中的每个像素,执行像素着色器,计算屏幕 - 光线 - 球体交叉点(如果有).从行星纹理中查找颜色(考虑时间和行星旋转).避免了对大量多边形的需求,并为您提供精确的球体.