Mac OS X也可以跑OpenGL啦

苹果自成一套的体系可以尽情展示自家的技术水准,但是也会给一些程序开发带来挑战,比如OpenGL在Windows及Linux系统下都支持的很好,而Mac OS X系统上就不行。据报道Geeks3D的大神们本着Geek的折腾精神,OpenGL程序终于成功在OS X系统下跑起来了。

这还得感谢他买了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,还需要苹果的进一步支持。

时间: 2024-08-17 14:59:56

Mac OS X也可以跑OpenGL啦的相关文章

mac os x-关于 Mac OS X 下使用 OpenGL 库 SOIL 时候出现的链接错误

问题描述 关于 Mac OS X 下使用 OpenGL 库 SOIL 时候出现的链接错误 我刚开始学习 OpenGL,想请教一下大家关于使用 SOIL 加载图片的问题,我在 Mac 上按要求下载并 make.make install 了 SOIL,但是使用的时候还是报了 g++ create_window.cpp -I/usr/local/include -I/opt/X11/include -L/usr/local/lib -I/opt/X11/lib -w -framework OpenGL

windows-wine效果如何 linux unix mac os?

问题描述 wine效果如何 linux unix mac os? wine能支持哪类exe程序,效率又如何呢?即使能直接支行exe又何必学跨平台的工具那么麻烦呢? 解决方案 wine在os api层面虚拟化,因此执行的是nativecode.但是不同os下程序的behaviour有差异.如果程序性能开销不发生在这些os api调用上,那么差异不大.反之,因为api移植和实现的不同,还是有差异的.因为wine是api虚拟化,执行的是本地代码,所以不能在不同的机器上跨平台.比如x86的程序不能在ar

Mac OS X中不用鼠标、使用键盘重新开关机

不用鼠标也行: 不知道大家在古典时代是否有使用这一些键盘的功能,我是觉得很实用,也让我工作效率增加,而这些功能在Mac OS X也都还存在,现在提供: 首先,接下来所说得上下键都是上下左右键的上跟下的键 选一个磁盘,文件,当按夹,或应用程序 command + 下键:磁盘或文件夹会打开应用程序会启动 ,文件会打开 选一个磁盘,文件,文件夹,或应用程序 command + 上键:如果原本在第三层的文件夹里,现在会跑到第二层 option + command + 上下键:除了有上面的效果,原窗口会先

可爱插画帮你了解MAC OS X的变化发展史

  早期OS X操作系统在苹果内部以大型猫科动物为代号,之后就干脆直接以这些动物代号做为对外商标,成为各系统版本的简称,直到这一两年来才有所改变.今天咱们特别为大家整理.介绍OS X发展史,帮大家温故知新一下. 2001/3 OS X 10.0 CHEETAH 印度豹 其实--OS X操作系统的是从一只熊(躲在豹后方)开始,而不是一只猫.(笑) 2000 年9月苹果推出测试版操作系统科迪亚克棕熊Kodiak.当时只要美金30元(约台币940元),就能买到beta版Mac OS 10.6个月后,正

VMware 11安装Mac OS X 10.10虚拟机以及优化心得

  要使用xcode和sketch,必须在mac环境中运行,无奈本人笔记本装黑苹果的话独立显卡和无线网卡驱动无解,不想折腾,先用虚拟机试一下.一开始虚拟机下面跑优胜美地系统简直卡出翔,一动一卡让我几乎放弃,但是经过几天调教,现在基本能正常流畅使用虚拟机了,比白苹果体验略差一些,偶尔卡顿,但也能凑活用,买MacBook的计划又能推迟了呢,下面我来分享一下安装和优化mac虚拟机的心得. 首先按照下面这份教程来,下载好作者提供的资源,跟着步骤一步步下来基本很顺畅,10.10就装好了. 本人电脑配置如下

从Windows角度看Mac OS X上的软件开发

    如果原来从事Windows软件开发,想跨足或转换至Mac OS X环境,需要知道那些东西?有什么知识技能可以快速运用在Mac OS X环境上的?这两个问题应该是Windows开发者进入Mac OS X环境最关心的问题.本文假设读者以往采用微软的开发工具,并以C/C++/C#的任一种组合作为开发语言. 大体说来,Windows和Mac OS X都是为桌面应用环境.图形用户接口(GUI)而设计的操作系统.虽然不同平台细节各有特色,但两者相近的抽象概念,其实远远多于相左之处.本文试图指出方向上

mac OS X 下ft_rich游戏的重构

      ft_rich是用ruby写的一个简单得扑克大富翁游戏,逻辑很简单,使用了终端颜色 的特性.     原来是在windows下使用ruby c ext实现的颜色功能,现在在mac OS x下做移植, 因为后者终端直接支持颜色显示,所以没那么复杂了--直接在ruby里使用 gem highline搞定鸟.     windows下的颜色使用的是一个class Ctxt#color方法,Ctxt是在c ext中调用 native win32 api实现的.移植得第一步,我想先跑起来这个程

Mac OS崛起 Linux在开发者群体中失宠

Linux刚刚迎来了它颇具纪念意义的生日--20岁,不过这个喜庆的日子对于Linux的忠实用户来说却又喜忧参半.Santa Cruz(来自总部位于加州的Evans数据公司的研究员)最近给出的应用程序开发年度调查显示,Linux在普及度上已经下滑至第三位,将其拉下马的正是Mac OS:而另一位领先者无疑是Windows. 目前已经在7.9%的开发者群体中成为首要开发平台,而调查同时指出,只有5.6%的开发者使用Linux. "我对这样的结果并不感到惊讶,"IDC应用程序开发软件部门项目总

畅想未来 Mac OS X十年之后会怎样?

2011年是Mac OS X十周年,是iPod的十周年,是iTunes的十周年,是苹果零售店的十周年.2011年苹果还发布了iCloud.iAd和Siri,那么作为苹果设备基石的Mac OS X在未来十年中会有什么发展呢?我们一起来分析. Mac OS X未来十年:核心操作系统与网络技术的融合 乔布斯在2001年3月发布了第一版Mac OS X 10.0,称苹果在未来15年之内都会使用Mac OS X平台.乔布斯这么说可能是因为NeXT公司在2001年刚好成立15周年. 十年前,苹果公司想利用成