如何在XNA中绘制纹理球体

时间:2018-01-08 21:56:24

标签: c# xna monogame primitive

我想要一个关于如何在现代XNA(根据MonoGame)中绘制带有纹理(例如方格)的球体的示例。一切都应该以编程方式发生(生成模型和纹理,而不是从文件加载)。简短而易处理是一个优点。

最终结果看起来像

http://www.publicdomainpictures.net/pictures/170000/t2/3d-sphere-with-mapped-checkerboard-1461656185N5D.jpg

除了影子以及我不关心纹理如何向边缘变形的事实。

表明之前的研究:我已经尝试SpherePrimitive,但永远不会在其上放置纹理。如果可以,请考虑它已经存在。我也试过this example from the web,它没有再编译MonoGame,当它最终结果看起来不像一个球体。

一些上下文:我使用XNA是因为它看起来像是在C#中进行3D的唯一跨平台方式,但我做了一个简单的可视化,所以到目前为止我只需要领域。

1 个答案:

答案 0 :(得分:0)

事实证明XNA/MonoGame特别适合这项任务。与我的期望相反,它不是3D游戏构建器,而是3D 游戏引擎构建器。提供的API太低,无法一次性解决所描述的任务。

我尝试了Unity 3D,但它使得开发以Unity为中心,鉴于我已经选择了代码库和工具,这是一件令人讨厌的事。

我目前正准备使用OpenTK来完成这项工作。它仍然相当低级,但是:

  • 这是一个简单的解决方案。需要时创建窗口,完成后进行处理。它不会强迫某种思维方式,工具或切入点成为一个图书馆。
  • 基本上是OpenGL,其中已经编写了大量代码并可供审核。
  • 这是一个小而稳定的依赖。间接层数较少。
  • 我已找到working textured sphere-drawing example