RLT*_*RLT 3 opengl macos core-animation objective-c cglayer
我试图通过层的形式了解Mac上与OpenGL框架集成相关的一些事情.基本上当我想要了解OS X中存在的3D技术以及哪个层是OpenGL的实际实现层时.
从阅读苹果文档,以下是我目前所理解的:
1.NSOpenGLContext对象包含一个低级的,特定于平台的Core OpenGL(CGL)上下文.
=这清楚表明NSOpenGL使用了CGL.
2. AGL(Apple Graphics Library)API是Mac OS X中Apple实现OpenGL的一部分.
那么,AGL和CGL是否以任何方式相关?
3.CGL(Core OpenGL)是Apple实现OpenGL的最低级编程接口.
=这是否意味着标准OpenGL API只是CGL的包装?
4.CoreAnimation似乎是Core Graphics,Open-GL和Quick-time的组合.但我不确定它下面使用了什么,我的意思是实际的实现层,它是CGL吗?
事情对我来说并不完全清楚.我仍然在阅读,我过去曾问过一些相关的问题,但知识不全.
如果有人可以分享他对事情的理解,我将非常感激.
NSOpenGLContext,AGL和CGL都是用于设置可以绘制的OpenGL上下文的API.
除非您已经知道没有理由,否则请使用NSOpenGLContext.
如果您正在编写Carbon应用程序,或者如果您需要与Mac OS 9兼容,请使用AGL(截至2012年,这基本上意味着:不要).
AGL和NSOpenGLContext都是在CGL之上实现的.但是,并非CGL的所有必要部分都是公共API.上次我检查了CGL API的唯一公共部分,其中允许您创建全屏OpenGL上下文.如果您想在窗口中使用OpenGL,或者您希望在OpenGL上显示对话框或某些NSView,则可能无法使用CGL.
CoreAnimation是(主要是UI)动画的框架; 您可以直接使用CoreAnimation而不使用OpenGL.我自己从未使用它,但我认为它还允许您为动画层创建OpenGL上下文.如果您已经有其他原因使用CoreAnimation,或者您想以创造性的方式组合OpenGL图形和Mac GUI小部件,请使用它.
| 归档时间: | 
 | 
| 查看次数: | 2615 次 | 
| 最近记录: |