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,还需要苹果的进一步支持。

目录
相关文章
|
4月前
|
iOS开发 MacOS
MAC OS更新系统后IDEA中的SVN报错无法使用
MAC OS更新系统后IDEA中的SVN报错无法使用
|
12月前
|
消息中间件 Dubbo 中间件
在 Docker 中运行 Mac OS 是什么样的体验?
在 Docker 中运行 Mac OS 是什么样的体验?
|
7月前
|
前端开发 安全 Go
在Mac OS X上运行Go语言的GUI程序
在Mac OS X上运行Go语言的GUI程序
199 3
|
11月前
|
iOS开发 MacOS
MAC OS更新系统后IDEA中的SVN报错无法使用
IntelliJ IDEA无法正常使用SVN 报Cannot run program “svn” (in directory “/XXXX/XXXX/XXXX/XXX”): error=2错误! 解决方法来了!
1027 0
|
Oracle Java 关系型数据库
珠联壁合地设天造|M1 Mac os(Apple Silicon)基于vscode(arm64)配置搭建Java开发环境(集成web框架Springboot)
也许有人从未听说过Python,但是不会有人没听说过Java,它作为一个拥有悠久历史的老牌编程语言,常年雄踞TIOBE编程语言榜首,其顶尖的霸主地位不可撼动,而M1 mac业已发布了一段时间,作为跨时代的顶级芯片系统,这两大巨头能否珠联璧合,让开发者们猛虎添翼、更上层楼?本次我们尝试在M1 mac系统中搭建Java开发环境,并且集成目前Web开发领域红的发紫的Springboot框架,另外,谁说玩儿Java就必须得用Eclipse或者IntelliJ IDEA?我们就骄傲地使用Vscode。
珠联壁合地设天造|M1 Mac os(Apple Silicon)基于vscode(arm64)配置搭建Java开发环境(集成web框架Springboot)
|
Shell 调度 iOS开发
奇技淫巧玄妙无穷| M1 mac os(苹果/AppleSilicon)系统的基本操作和设置
最近有个朋友跟我说,说他新入职了一家公司,公司还不错,给他配了一台Mac,但是呢他以前一直在Windows环境下开发,对Mac os并不了解,他感到很彷徨,所以本次呢,我们来分享一下,当手头儿有一部崭新的Mac,我们应该怎么上手操作和配置,让它成为我们开发的好帮手。
奇技淫巧玄妙无穷| M1 mac os(苹果/AppleSilicon)系统的基本操作和设置
|
机器学习/深度学习 机器人 PyTorch
金玉良缘易配而木石前盟难得|M1 Mac os(Apple Silicon)天生一对Python3开发环境搭建(集成深度学习框架Tensorflow/Pytorch)
笔者投入M1的怀抱已经有一段时间了,俗话说得好,但闻新人笑,不见旧人哭,Intel mac早已被束之高阁,而M1 mac已经不能用真香来形容了,简直就是“香透满堂金玉彩,扇遮半面桃花开!”,轻抚M1 mac那滑若柔荑的秒控键盘,别说996了,就是007,我们也能安之若素,也可以笑慰平生。好了,日常吹M1的环节结束,正所谓剑虽利,不厉不断,材虽美,不学不高。本次我们尝试在M1 Mac os 中搭建Python3的开发环境。
金玉良缘易配而木石前盟难得|M1 Mac os(Apple Silicon)天生一对Python3开发环境搭建(集成深度学习框架Tensorflow/Pytorch)
|
机器学习/深度学习 开发框架 Java
别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境
在每个开发者心里,都会有一门“最好”的语言,在这个世界的某个深处,在一些矫矫不群的人们心中,这门语言的名字叫做Ruby,它今年二十八岁了,历史和Java一样的悠久,但是它没有大厂背书、它的性能被开发者诟病、时至今日依然无法高效利用多核资源,甚至于它每年都要被“死亡”一次,相比于有太阳计算机系统、甲骨文、IBM 这些大公司支持的 Java,它是那么的一无所有,但是,它又拥有全世界最虔诚的“信徒”,拥有最活跃的开发者社区,这一切,又让它是那么的应有尽有。是的,这就是Rubyist的理念:有的时候,你想证明给一万个人看,到后来,你发现只得到了一个明白的人,那就够了。
别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境
|
开发工具 iOS开发 MacOS
mac OS简单实用的包管理器Homebrew,真的非常好用
今天安装zookeeper时使用的是brew方式来安装,才深深的体会到brew的厉害之处,闲话少叙,进入正题。
285 0
|
iOS开发 MacOS
MAC OS dmg文件转换为ISO
MAC OS dmg文件转换为ISO
458 0
MAC OS dmg文件转换为ISO