2016-11-18 146 views
0

我需要能够做到以下几点:C#/。NET的3D图形库,用于创建彩色立方体

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

我想使用具有创建这样一个应用程序最浅的学习曲线库,最好的东西是很容易在使用C#/。NET世界。

我看过DirectX和它的一些.NET包装器,如SharpDXSlimDX

但我想知道如果一个游戏引擎,如MonoGame,会更容易使用这种简单的要求?

有什么建议吗?

+0

你知道[Eyeshot](http://www.devdept.com)吗? – abenci

回答

1

您可以使用WPF做这样的事情。它的难度取决于你的3D模型是什么,但是如果你只需要立方体,那应该不是什么大问题。
检查此链接 - 例如https://stuff.seans.com/2008/08/13/drawing-a-cube-in-wpf/

代码是相当多的自我解释,但基本上你有Viewport3D这是完整的场景,然后你有定义相机(什么相机“看到”的是它会显示)和情侣ModelVisual3D对象。第一个包含光(没有它,立方体将完全黑色),第二个是你的立方体。
立方体由网格和材质定义。 Mash具有顶点(Positions属性)和三角形。位置是由坐标定义的点,三角形是上述点的三元组。您可以通过这种方式制作其他3D形状,而不仅仅是立方体。 现在,以最简单的形式,您唯一需要担心的就是Positions属性。在那里更改数字可以更改立方体的大小和位置。
要添加更多立方体,您将需要更多ModelVisual3D对象。

一旦您通过手动更改这些值而熟悉,就不会出现编程方式出现问题的问题。

1

OpenTK允许在.NET语言中进行OpenGL调用。它非常完善,适合移植到Mono等。它还允许您对渲染进行(相对)较低级别的控制。

或者,如果你只是想呈现的C#控制,怎么样Unity这将抽象掉大部分的为你的细节,只是让你专注于代码(也移植到不同的操作系统)

1

我d喜欢使用具有最浅学习曲线的库来创建这样的应用程序,理想情况下,这是在C#/。NET世界中易于使用的一种方法。

基于上述,我会选择实现Microsoft XNA 4 API的MonoGame,并且应该很容易上手。它是专门为.NET框架设计的,因此应该很容易接受已经在.NET中编程并且对图形有一点了解的人。采用OpenGL或DirectX等较低级别的方法可能需要更多的时间和精力,更不用说更陡峭的学习曲线。