我需要能够做到以下几点:
我想使用一个具有最浅学习曲线的库来创建这样的应用程序,理想情况是在C#/ .NET世界中易于使用的东西。
我查看了DirectX及其一些.NET包装器,例如SharpDX和SlimDX。
但是我想知道一个游戏引擎,比如MonoGame,是否更容易用于这样简单的要求?
有什么建议吗?
答案 0 :(得分:1)
你可以使用WPF来做这些事情。这有多难取决于你的3D模型是什么,但如果你只需要立方体,这应该不是什么大问题 请查看此链接,例如 - https://stuff.seans.com/2008/08/13/drawing-a-cube-in-wpf/
代码几乎是自我解释,但基本上你有Viewport3D
这是完整的场景,然后你已经定义了相机(什么相机“看到”它将显示什么)和几个ModelVisual3D
对象。第一个包含光(没有它,立方体将是完全黑色),第二个是你的立方体
立方体由网格和材质定义。 Mash有顶点(Positions
属性)和三角形。位置是由坐标定义的点,三角形是上述点的三元组。您可以通过这种方式制作其他3D形状,而不仅仅是立方体。
现在,以最简单的形式,您唯一需要担心的是Positions
属性。在那里改变数字你可以改变立方体的大小和位置
要添加更多多维数据集,您需要更多ModelVisual3D
个对象。
通过手动更改这些值熟悉后,以编程方式执行任何操作都不会有问题。
答案 1 :(得分:1)
OpenTK允许在.NET语言中进行OpenGL调用。它非常成熟,适合移植到Mono等。它还允许您(相对)低级别控制渲染。
或者,如果你只想要C#控制渲染,那么Unity如何为你抽象掉大部分细节,让你专注于代码(也可以移植到不同的操作系统)< / p>
答案 2 :(得分:1)
我想使用具有最浅学习曲线的库 创建这样一个应用程序,理想情况下易于使用 在C#/。NET世界。
基于上面的内容,我会选择实现Microsoft XNA 4 API的MonoGame,应该很容易上手。它是专门为.NET框架设计的,因此对于已经在.NET中编程并且对图形有一点了解的人来说应该很容易。寻求较低级别的方法,如OpenGL或DirectX可能需要更多的时间和精力,更不用说更陡峭的学习曲线了。