'近球'上更细致的纹理

时间:2013-11-29 15:34:25

标签: texture-mapping stage3d

据我所知,Stage3D中纹理的分辨率上限为2048 x 2048像素。这对我正在开发的太空游戏中的行星造成问题;当“相机”到达一定距离时,各个像素清晰可见。我知道我可以改变着色器如何渲染纹理,有效地模糊纹理,但这不是我想要做的。我也知道mipmapping,但它使用降低分辨率的图像,仍然最大为2048像素的正方形。

我很想知道当相机越来越近时如何“提升”纹理的分辨率。是否可以选择不止一个“片段”绘制行星,还是有其他方法可以绘制更多的像素细节?

1 个答案:

答案 0 :(得分:0)

Stage3D将纹理大小限制为2048x2048,因为并非所有GPU都可以处理更大的纹理。很自然地,你不能使用更大的纹理。如果这对你来说不够大(可以理解你不能在2048x2048纹理中适应整个行星),你有三个选择:

1)使用多个纹理。您可以将多个纹理传递给片段着色器。

2)使用更智能的uv映射。例如,您可以使用一个小的平铺区域来草,岩石,泥土,水等,并将它们映射到地球上的正确位置。

3)使用一些细节级别(LOD)系统。例如,当相机靠近球体时,将模型更换为更详细的模型,其中仅包含玩家可见的区域。更详细的模型使用的纹理不需要覆盖整个地球,因此可以更详细。

根据你的星球的大小,其中一个可能就够了,或者你可能需要它们全部。