繁体   English   中英

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

[英]C#/.NET 3D graphics library for creating coloured cubes

我需要能够执行以下操作:

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

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

我看过DirectX及其一些.NET包装,例如SharpDXSlimDX

但是我想知道,像MonoGame这样的游戏引擎是否会更容易满足此类简单要求?

有什么建议么?

您可以将WPF用于此类情况。 它的难易程度取决于您的3D模型是什么,但是如果您只需要多维数据集,那么问题就不大了。
检查此链接,例如-https://stuff.seans.com/2008/08/13/drawing-a-cube-in-wpf/

代码几乎可以自我解释,但基本上,您拥有完整的场景Viewport3D ,然后在其中定义了摄影机(摄影机“看到”的内容就是要显示的内容)和几个ModelVisual3D对象。 第一个是光(没有它,立方体将是完全黑色的),第二个是您的立方体。
立方体由网格和材料定义。 混搭具有顶点( Positions属性)和三角形。 位置是由坐标定义的点,三角形是上述点的三元组。 您可以通过这种方式制作其他3D形状,而不仅仅是立方体。 现在,以最简单的形式,您只需要担心的是Positions属性。 在此处更改数字可以更改多维数据集的大小和位置。
要添加更多的多维数据集,您将需要更多的ModelVisual3D对象。

一旦您通过手动更改这些值熟悉了,以编程方式进行任何操作就不会有问题。

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

另外,如果您只想用C#进行渲染控制,那么Unity怎么样呢?它将为您提取大部分细节,并让您专注于代码(也可移植到不同的OS)

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

基于上述内容,我将选择实现Microsoft XNA 4 API的MonoGame,并且应该很容易安装和使用。 它是专为.NET框架设计的,因此对于那些已经在.NET中进行编程并且对图形有所了解的人来说,应该很容易上手。 选择较低级别的方法(例如OpenGL或DirectX)可能会花费更多的时间和精力,更不用说陡峭的学习曲线了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM