鐵之狂傲

 取回密碼
 註冊
搜尋

切換到指定樓層
1#
  蘋果自成一套的體系可以盡情展示自家的技術水準,但是也會給一些程序開髮帶來挑戰,比如OpenGL在Windows及Linux系統下都支援的很好,而OS X系統上就不行,好在Geeks3D的大神們本着Geek的折騰精神終於成功在OS X系統運行了OpenGL程序
  這還得感謝他買了15寸的Retnia版Macbook Pro,過去的幾個月一直在研究OS X 10.8系統上的OpenGL支援問題,現在總算有點眉目了。

  Macbook Pro提供了三種OpenGL渲染方法:兩種硬體渲染,一種軟體渲染,作者第一次用的將是軟體渲染,而硬體渲染的基礎主要是Intel HD 4000核顯以及1GB記憶體的NVIDIA GT 650M獨立顯卡。
  OS X 10.8系統支援OpenGL 2.1和OpenGL 3.2 Core核心檔案,但是不支援完整的OpenGL 3.2。作者在測試自己的3D庫檔案時發現Retina版MBP電腦上的OpenGL擴充指令與蘋果OpenGL相容列表上列出的都是一樣的。
  OSX 10.8 OpenGL Core Caps (GL 3.2)
  OSX 10.8 OpenGL Lagacy Caps (GL 2.1)
  OSX 10.7 OpenGL Core Caps (GL 3.2)
  OSX 10.7 OpenGL Legacy Caps (GL 2.1)
  OSX 10.6 OpenGL Caps (GL 1.4, GL 2.1)
  至於OpenGL 3.2核心檔案,軟體渲染器支援15條擴充指令,HD 4000核顯支援13條而GT 650M支援16條。如果你想在OS X 10.6系統下支援OpenGL 3.2則是不可能的,只能在10.7(Lion)以及10.8(Moutain Lion)系統上才可以。
  在Windows系統上用於連接OpenGL與應用的API被稱為WGL,Linux系統上叫做XGL,而在OS X系統上有四個API,分別是CGL、AGL、NSOpenGL以及GLX,其中CGL是API的基礎,其他API都要依賴這個API。


  上面牽扯的理論知識太多了,來看看作者的一個實際成果吧——GLSL Hacker,這Geexlab工具跨平台支援的OS X版本。


  還有一個API是NSOpenGL,來源於Cocoa框架,後者是一個OS X系統下64位的視窗系統。


  截圖顯示的是GT 650M顯示卡的GPUTest拷機測試,GPUTest測試廣泛應用在了Furmark、Tessmark這樣的測試軟體中,現在則用在OS X平台上。


  作者表示在第一次接觸OS X平台上OpenGL的表現還是很積極的,由於吸收了Objective-C語言的優點,它很容易就能在Cocoa視窗中進行OpenGL編程,作者在OSX 10.7及10.8系統的HD 4000、GT 650M、GeForce 320M、HD 4870、HD 6750M顯示卡上都做了體驗,它的GLSL Shader都可以立即工作。
  不太方便的則是glext.h檔案,他的代碼依賴於從OpenGL.org上下載的官方glext.h檔案,但是使用蘋果的glext.h檔案就不能編譯通過。
  最後,作者期望的看到在OS X上使用曲面細分功能,這需要OpenGL 4,還需要蘋果的進一步支援。
 
轉播0 分享0 收藏0

回覆 使用道具 檢舉

你需要登入後才可以回覆 登入 | 註冊

存檔|手機版|聯絡我們|新聞提供|鐵之狂傲

GMT+8, 24-11-5 16:10 , Processed in 0.020384 second(s), 19 queries , Gzip On.

回頂部