我试图弄清楚CGL和OpenGL on Mac平台之间的关系。
更具体地说,关于上下文。他们有共同的背景吗?如果是,是如何实现的?请给我一些相关例子的链接。
如果没有,那么在使用OpenGL的核心动画应用程序中是否有两个上下文在工作?
我对Mac对OpenGL的使用感到非常困惑。有人能澄清一下吗?
发布于 2012-11-13 13:20:07
CGL设置适用于OpenGL渲染的设备特定上下文。分别与Windows和X上的wgl和xgl进行比较。CGL了解如何查询图形硬件的像素格式,以及如何设置和配置上下文(例如,双缓冲或单缓冲、分辨率深度、模板、累积缓冲等)。但它没有提供在该上下文中绘制的函数。一旦使用CGL创建了上下文,就可以将其设置为当前上下文,然后可以调用OpenGL在该上下文中呈现。
在Core Graphics中(不要将其与CGL混淆),上下文初始化和上下文绘制都由同一个框架处理。但是因为OpenGL是一个开放的标准,并且被设计成跨平台的,所以渲染功能和设备上下文功能被抽象到单独的框架中。
发布于 2011-09-24 10:09:40
CGL是Mac上OpenGL的底层接口。如果您正在编写OpenGL Mac应用程序,您可能不想使用它。我目前正在为XCode 4创建一个直观的OpenGL Mac应用程序模板,但同时你也可以看看https://github.com/mk12/Pong-Ultimate,这是我用OpenGL制作的一个pong克隆。它使用NSOpenGL,这是OpenGL的一个更高级的Cocoa接口。
你可能还会发现苹果的文档很有帮助:http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_intro/opengl_intro.html。
https://stackoverflow.com/questions/7231556
复制相似问题