2016-11-18 72 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等較低級別的方法可能需要更多的時間和精力,更不用說更陡峭的學習曲線。