簡體   English   中英

創建本機C ++ OpenGL 3D編輯器並將其用作C#中的WinForms或WPF控件

[英]Creating native C++ OpenGL 3D editor and using it as a WinForms or WPF control in C#

我想創建一個簡單的3D編輯器程序,我不喜歡C ++ windows編程。 但是,我也不想在使用OpenGL時弄亂托管代碼。 因此,可以在本機C ++中創建一個控件,它將托管OpenGL 3D繪圖表面,沒有其他控件,也有接口(方法和屬性),並將其用作WinForms中的控件,甚至更好,WPF申請?

也可以使用托管C ++。 我為WinForms創建了一個簡單的OpenGL控件,它符合您的要求。 你可以在這里找到更多關於它的信息

它必須是OpenGL嗎? 考慮使用XNA,它可以讓你使用C#和DirectX。 否則我建議你找一個OpenGL的C#包裝器。 這里列出了兩個包裝器http://www.opengl.org/resources/bindings/

我真的不明白你的意圖。 你說你討厭C ++編程,你不想在使用OpenGL時弄亂托管代碼,你想要沒有ui控制的opengl窗口,但是你想要winform或wpf。

如果你討厭編程c ++,你必須使用托管代碼。 如果您不想在使用OpenGL時弄亂托管代碼,則必須使用c ++編程。 如果你想在原生C ++中創建一個控件,它將托管OpenGL 3D繪圖表面,沒有其他控件(我假設UI控件),為什么要考慮winform或wpf?

不要使用WPF來創建3d繁重的應用程序。 wpf意為ui。 你會發現很多限制。 托管(WPF)也有局限性,這使得將opengl與wpf一起使用變得毫無用處。

我認為最好的選擇是XNA或http://www.opentk.com/(如果你必須使用OpenGL)。 Tao Framework已經過時,不值得付出努力。

我建議你看看Ogre 3D( http://www.ogre3d.org )。 這個跨平台的C ++庫涵蓋Open GL和DirectX。 它已經成功嵌入到Qt,MFC中,甚至還有.NET表示。 我強烈建議你看看它。

您所要做的就是在c ++中創建一個包裝器,在c#中公開函數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM