如何在 XNA 中绘制带纹理的球体
How to draw a textured sphere in XNA
我想要一个关于如何在现代 XNA(根据 MonoGame)中绘制带有纹理(例如方格)的球体的示例。一切都应该以编程方式发生(生成模型和纹理,而不是从文件加载)。简短易懂者优先。
最终结果看起来像
除了阴影和我不关心纹理如何向边缘变形的事实。
表明之前的研究:我试过 SpherePrimitive but could never put texture on it. If you can, consider it is already present. I have also tried this example from the web,它没有再次编译 MonoGame,当它编译时最终结果看起来不像一个球体。
一些背景信息:我正在使用 XNA,因为它看起来是在 C# 中进行 3D 处理的唯一跨平台方式,但我正在做一个简单的可视化,所以到目前为止我只需要球体。
事实证明,XNA/MonoGame
尤其不适合这项任务。出乎我的意料,它不是 3D 游戏生成器,而是 3D 游戏引擎 生成器。提供的 API 级别太低,无法一次性解决所描述的任务。
我已经尝试过 Unity 3D
但它使开发以 Unity 为中心,考虑到我已经选择了代码库和工具,这很麻烦。
我目前正在准备使用 OpenTK 来完成这项工作。它仍然相当低级,但是:
- 这是一个简洁的解决方案。需要时创建 window,完成后丢弃。作为一个库,它不强制特定的心态、工具或入口点。
- 它基本上是
OpenGL
,为此已经编写了大量代码并可供审查。
- 这是一个小而稳定的依赖。较少的间接层数。
- 我已经找到一个working textured sphere-drawing example
我想要一个关于如何在现代 XNA(根据 MonoGame)中绘制带有纹理(例如方格)的球体的示例。一切都应该以编程方式发生(生成模型和纹理,而不是从文件加载)。简短易懂者优先。
最终结果看起来像
除了阴影和我不关心纹理如何向边缘变形的事实。
表明之前的研究:我试过 SpherePrimitive but could never put texture on it. If you can, consider it is already present. I have also tried this example from the web,它没有再次编译 MonoGame,当它编译时最终结果看起来不像一个球体。
一些背景信息:我正在使用 XNA,因为它看起来是在 C# 中进行 3D 处理的唯一跨平台方式,但我正在做一个简单的可视化,所以到目前为止我只需要球体。
事实证明,XNA/MonoGame
尤其不适合这项任务。出乎我的意料,它不是 3D 游戏生成器,而是 3D 游戏引擎 生成器。提供的 API 级别太低,无法一次性解决所描述的任务。
我已经尝试过 Unity 3D
但它使开发以 Unity 为中心,考虑到我已经选择了代码库和工具,这很麻烦。
我目前正在准备使用 OpenTK 来完成这项工作。它仍然相当低级,但是:
- 这是一个简洁的解决方案。需要时创建 window,完成后丢弃。作为一个库,它不强制特定的心态、工具或入口点。
- 它基本上是
OpenGL
,为此已经编写了大量代码并可供审查。 - 这是一个小而稳定的依赖。较少的间接层数。
- 我已经找到一个working textured sphere-drawing example