閱讀327 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Mac OS X也可以跑OpenGL啦

蘋果自成一套的體係可以盡情展示自家的技術水準,但是也會給一些程序開發帶來挑戰,比如OpenGL在Windows及Linux係統下都支持的很好,而Mac OS X係統上就不行。據報道Geeks3D的大神們本著Geek的折騰精神,OpenGL程序終於成功在OS X係統下跑起來了。

Mac OS X也可以跑OpenGL啦

這還得感謝他買了15寸的Retnia版MacBook Pro,過去的幾個月一直在研究OS X 10.8係統上的OpenGL支持問題,現在總算有點眉目了。

Mac OS X也可以跑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。

Mac OS X也可以跑OpenGL啦

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

Mac OS X也可以跑OpenGL啦

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

Mac OS X也可以跑OpenGL啦

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

Mac OS X也可以跑OpenGL啦

作者表示,在第一次接觸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,還需要蘋果的進一步支持。

最後更新:2017-04-04 07:03:57

  上一篇:go 中國雲計算未占先機 卻有後發優勢
  下一篇:go 關於 HTML5 令人激動的 10 項預測