用于创建彩色立方体的C#/。NET 3D图形库

时间:2016-11-18 12:27:55

标签: c# .net 3d

我需要能够做到以下几点:

  • 在屏幕上显示一系列彩色立方体
  • 根据强度值调整每个立方体的透明度
  • 调整/平移/缩放/导航视图

我想使用一个具有最浅学习曲线的库来创建这样的应用程序,理想情况是在C#/ .NET世界中易于使用的东西。

我查看了DirectX及其一些.NET包装器,例如SharpDXSlimDX

但是我想知道一个游戏引擎,比如MonoGame,是否更容易用于这样简单的要求?

有什么建议吗?

3 个答案:

答案 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可能需要更多的时间和精力,更不用说更陡峭的学习曲线了。