Xna 基于游戏生成的值将多个纹理渲染到球体

Xna 基于游戏生成的值将多个纹理渲染到球体,xna,xna-4.0,Xna,Xna 4.0,我正在和我的朋友做一个游戏,根据某些属性随机生成行星。最初这个游戏都是2D的,但现在我们决定增强游戏中行星的用途,使其成为2.5D,在其他2D世界中行星被渲染为3D球体。现在,在这一点上,我们有一个相当好的事情与行星的外观。我们使用分层纹理,每个属性(水、土地、大气)对应一个纹理,这取决于我们的算法创建地球的方式。这看起来很漂亮,但行星表面基本上是跛足的,没有变化,因为它们都是由相同的几种纹理制成的 现在我们将要进行3D,我想创建一张漂亮的行星地图,它将根据行星的属性确定行星的地形,使每个行星都

我正在和我的朋友做一个游戏,根据某些属性随机生成行星。最初这个游戏都是2D的,但现在我们决定增强游戏中行星的用途,使其成为2.5D,在其他2D世界中行星被渲染为3D球体。现在,在这一点上,我们有一个相当好的事情与行星的外观。我们使用分层纹理,每个属性(水、土地、大气)对应一个纹理,这取决于我们的算法创建地球的方式。这看起来很漂亮,但行星表面基本上是跛足的,没有变化,因为它们都是由相同的几种纹理制成的

现在我们将要进行3D,我想创建一张漂亮的行星地图,它将根据行星的属性确定行星的地形,使每个行星都有不同的水体、陆地质量等。我还想根据该地图在行星表面绘制不同的纹理,并将它们在边缘混合在一起

我考虑了两种可能性:基于贴图将纹理渲染到渲染目标,然后围绕球体模型包装该渲染目标,或者将贴图转换为顶点数据并编写着色器以绘制具有适当权重的纹理

问题是,我对RenderTargets和HLSL都是新手(事实上,我甚至不知道RenderTarget方法是否可行),所以我觉得这里需要一些指导。基于生成的地形地图,建议如何将多个纹理渲染到球体模型?此外,是否有任何关于创建地形图的格式的建议(它将是某种数据结构,代表地球表面任何坐标处的地形类型)

我看过其他多纹理教程,但它们似乎都基于预先确定的纹理或一组值。我需要能够在游戏中随机生成地形