拷机软件跑起来,OS X平台下OpenGL初体验

2012-11-12 18:55:03

作者:tina

Tag:Mac

热度:745℃

苹果自成一套的体系可以尽情展示自家的技术水准,但是也会给一些程序开发带来挑战,比如OpenGL在Windows及Linux系统下都支持的很好,而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,还需要苹果的进一步支持。

来自苹果软件园网友的评论

linux 拷机软件,拷机软件跑起来,OS X平台下OpenGL初体验相关推荐

  1. linux 虚拟机 交叉,华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验

    华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验 一,前期准备工作 1. 安装VMRAME虚拟机软件. 2.下载REDHAT的安装光盘,共三个.iso的文件.并在虚拟机下安装R ...

  2. 一机一码加密软件_加密软件还有哪些功能?

    加密软件是办公中常用的一种软件,大家对文件加密也有一定的熟知度,文件除了针对电脑文件防外泄,在日常生活中,我们对文件加密使用的频率较高,所以相对也比较了解,那么加密软件还有哪些功能呢? 一.权限管理 ...

  3. docker从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面

    1.从容器里面拷文件到宿主机 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径       要拷贝到宿主机的相应路径 示例: 假设容器名为testtomcat,要 ...

  4. 20.docker cp从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面

    docker从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面 1.从容器里面拷文件到宿主机?s 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径   ...

  5. 云堡垒机和软件堡垒机哪个好?区别是什么?

    你知道云堡垒机和软件堡垒机哪个好吗?你知道云堡垒机和软件堡垒机有什么区别吗?相信还有很多人不了解,今天我们小编就给大家简单介绍一下,希望可以帮到大家. 云堡垒机和软件堡垒机哪个好?区别是什么? 云堡垒 ...

  6. 如何用c语言写上位机软件,上位机的工作原理_上位机编程用什么软件

    描述 上位机的工作原理 通讯过程 两机如何通讯,一般取决于下位机,TCP/IP一般是支持的,但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯,里面会 ...

  7. 硬件堡垒机、软件堡垒机、云堡垒机品牌怎么选?

    硬件堡垒机.软件堡垒机.云堡垒机品牌怎么选? 作为一个运维leader,硬件堡垒机.软件堡垒机.云堡垒机我都用过,现在市面上的堡垒机品牌有很多,价格相差比较大,但选购堡垒机并非越贵的就越好,而是要综合 ...

  8. 运维老鸟总结_硬件堡垒机、软件堡垒机、云堡垒机品牌怎么选?

    作为一个运维leader,硬件堡垒机.软件堡垒机.云堡垒机我都用过,现在市面上的堡垒机品牌有很多,价格相差比较大,但选购堡垒机并非越贵的就越好,而是要综合考量各项指标与运维团队本身的契合度,以及在实际 ...

  9. 如何删除掉多余的虚拟摄像头,虚拟摄像头造成的直播软件死机如何解决?

    我们在测试虚拟摄像头的时候,有些虚拟摄像头是不能用的,甚至会引起一些软件死机,比如会造成你qq或者微信,yy直播等软件死机重启!甚至是无限重启,这时候干掉那些出问题的虚拟摄像头,电脑就正常了.像一些卸 ...

最新文章

  1. 减一天_一个动作减全身,一天比一天瘦,比跑3000米效果还好
  2. java jconsole rmi 连接不上
  3. vs2013编译win-32位下的libevent-2.0.21-stable,debug版本
  4. 第十九期:程序员节,女朋友偷偷送了我这个...
  5. 【LeetCode笔记】312. 戳气球(Java、动态规划)
  6. 【Python】一些函数
  7. 瀑布流ListView
  8. 基于微服务架构、运行于容器中的.NET Core示例应用eShopOnContainers
  9. JS or C#?不存在的脚本之争
  10. MySQL 的CASE WHEN 语句使用说明
  11. HTTP和HTTPS笔记
  12. vue-cli 安装
  13. java程序启动端口_查看项目端口和启动情况
  14. PS 如何简单的更换图片的背景色
  15. 如何利用家庭闲置宽带赚钱,甜糖 x86 docker 从零开始搭建
  16. 计算机图形学(六)-光栅化、采样、走样与反走样、滤波与卷积
  17. 关于股票的一些学习书籍
  18. Two classes have the same XML type name 排错
  19. Adobe PhotoShop安装程序无法初始化的解决办法
  20. 微积分知识补充——兼怀102

热门文章

  1. 我与“顶级工程师”距离有多远?
  2. 揭秘苹果“地下黑工厂”:临时工薪资无保障,男厕所门口排长龙
  3. 谷歌最新开源的工具可以自动化查找并修复 bug!
  4. 阿里推迟招聘;大疆因腐败损失 10 亿;ofo 两创始人消失? | 极客头条
  5. 新旧 iPhone 比速度,iOS 12 公开测试版发布!
  6. 电脑如何安装php文件夹在哪个文件夹,win7系统桌面文件在c盘哪个文件夹
  7. php数据库搬家,php 用adodb实现数据库搬家
  8. 熬了整整30天,java工作流开发
  9. java静态变量初始化顺序,赶快收藏备战金九银十!
  10. php 如果判断是utf,php 判断网页是否是utf8编码的方法_PHP教程