E X P

  • 编辑
  • 评论
  • 标题
  • 链接
  • 查错
  • 图文
  • 拼 命 加 载 中 ...   苹果自成一套的体系可以尽情展示自家的技术水准,但是也会给一些程序开发带来挑战,比如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,还需要苹果的进一步支持。

    ×
    热门文章
    1Intel找到13和14代酷睿稳定性问题的根本原因:是eTVB代码错误导致
    2Argon ONE V3是一个精致的树莓派机箱,不仅统一IO接口方向还提供主动散热
    3PCIe 6.0/7.0规范推进放缓,新技术的采用或面临延迟
    4高通与Arm纠纷或影响骁龙X系列发展,AI PC市场发展遇到障碍
    5AMD确认Ryzen AI 300系列发售时不支持Copilot+,等年内Windows更新提供
    6《艾尔登法环》DLC“黄金树幽影”PC配置要求公布:GTX 1060 3GB显卡起步
    7微软多款游戏在PS store上持续畅销,《盗贼之海》荣登5月下载榜榜首
    8英特尔Arc显卡31.0.101.5590 WHQL驱动:对《艾尔登法环》首个DLC优化
    欢迎参与评论,每一条合规评论都是对我们的褒奖。
    登录快速注册 后发表评论
    登录 后发表评论,若无帐号可 快速注册 ,请留意 评论奖罚说明