[英]C++ hybrid (native managed) +sdl + opengl & c# winforms
[英]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申請?
它必須是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.