OpenTK學習筆記:C#的中開發OpenGL程序的4種開源封包庫SharpGL、CsGL、OpenTK、Tao框架的簡單對比


  最近要在C#的語言環境下開發OpenGL程序,參考了網上的博客論壇http://www.cnblogs.com/hanyonglu/archive/2012/06/12/2546581.html,總結如下:

       1.在C#中直接調用OpenGL函數比較費事,一般不直接使用;

       2.一般的開發方法是借助第三方開源庫,比如SharpGL、CsGL、OpenTK、Tao框架等。其中Tao框架框架已經停止維護和更新了,可以被OpenTK替代,這里就不介紹了。

       下面比較一下SharpGL、CsGL、OpenTK這三種開發框架:

       1.SharpGL

       SharpGL的主頁:http://sharpgl.codeplex.com/

 

     只需要在下載頁面中下載SharpGL Visual Studio Extension文件,解壓之后點擊直接安裝,就會在Visual Studio 2010中集成SharpGL的項目模板,如下圖所示:

     在新建一個SharpGL Windows Forms Application工程后,將自動建立一個工程,可以直接運行,運行效果如下:

 

     對SharpGL的總結如下:

    (1)安裝部署方便,可以非常容易的集成到Windows Forms和WPF中去使用;

    (2)存在內存泄露的問題,即使運行一個簡單的程序,內存在不斷增長,當增長到了一定時就不會有太多的增長,由於例程都有這樣的問題,對於我們自己編寫程序,應作適當考慮;

    (3)目前SharpGL已經支持到OpenGL4.2(http://sharpgl.codeplex.com/discussions/431042),在所有的第三方庫中,其支持的OpenGL版本應該是最高的;

    (4)不支持Linux和Mac平台(http://sharpgl.codeplex.com/discussions/356490

 

      2. CsGL

     CsGL的主頁:http://csgl.sourceforge.net/

     CsGL也是一個比較方便的庫,運行時占用資源較少,響應速度較快。在下載了之后只需要將csgl.dll和csgl.native.dll這兩個庫拷貝至system32文件夾內即可。但在運行程序時,會報以下錯誤:

 

     解決的方法是將csgl.native.dll拷貝至程序運行路徑下。

     對CsGL的總結如下:

     (1)是一個較為輕量級的庫,運行時占用資源少,響應速度快;

     (2)官方已經至少十年沒有更新,原因是官方認為CsGL已經足夠穩定,能夠支持大多數的程序了,不需要繼續更新了(Development of CsGL has essentially stopped. CsGL has proven to be stable and good enough for most applications),正因為如此,CsGL支持的OpenGl版   本最低;

     (3)CsGl只支持32位的程序,無法支持64位,網上並沒有提供64位的dll,這在很大程度上影響了其使用。

 

     3.OpenTK

  OpenTK的主頁: https://opentk.net/  。原來的官方地址http://www.opentk.com/已經失效,不可訪問。

  GitHub源碼地址:https://github.com/opentk/opentk

 

     在下載了OpenTK的安裝文件后,直接安裝OpenTK就可以使用了。

     對OpenTK的總結如下:

     (1)安裝部署方便,在程序中可以直接引用;

     (2)可以支持跨平台的開發,特別是支持OpenGL ES;

     (3)支持64位的Windows程序開發;

     (4)在資源占用和響應速度上雖然比不上CsGL,但是優於SharpGL;

     (5)對OpenGL的版本支持在3.3以上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM