CAOpenGLLayer显示远程上下文

Joh*_*an_ 6 opengl cocoa core-animation calayer openglcontext

我有一个子类 CAOpenGLLayer class,它覆盖 drawInCGLContext在那里我画了一个矩形OpenGL.将CAOpenGLLayer被添加到CALayer和示出.

因此,当我想绘制一些内容时,我需要drawInCGLContext使用这种架构.

我想要的是另一种class用于绘制,动画或渲染的上下文,但每次drawInCGLContext出现时都会显示.

所以基本上我的子类应该做的唯一事情就是显示一个遥控器(OpenGL)context,实现这个目标的最佳方法是什么?或者我应该考虑不同的方法?

*不使用a CALayer不是一种选择.

use*_*321 3

您是否考虑过使用帧缓冲区对象(FBO)?您可以创建一个由纹理支持的。您的“远程”绘图类可以绘制到 FBO 中,这将导致绘图转到支持它的纹理。然后,您可以在其他地方使用该纹理,例如将其传输到 CAOpenGLLayer 子类中的屏幕上。有关如何使用 FBO 的详细信息,请参阅此链接。