【发布时间】:2011-01-23 17:52:47
【问题描述】:
我有一个有效的Core Video 设置(通过QTKit 从USB 相机捕获的帧),当前帧在子类NSOpenGLView 的3d 空间中的任意平面上渲染为纹理。到目前为止一切都很好,但我想在这个框架上使用一些Core Image 过滤器。
我现在有基本的代码设置,它像以前一样渲染我未处理的视频帧,但最终处理的输出CIImage 是渲染器作为屏幕对齐的四边形进入视图。感觉就像是在我的 3D 渲染上闪现的图像。这是我不想要的!
我正在寻找一种方法来使用Core Image 处理我的视频帧(CVOpenGLTextureRef),然后在我的飞机上以 3d 形式渲染生成的图像。
我必须使用屏幕外渲染(存储视口、设置新视口和模型视图以及透视矩阵并渲染到 FBO)还是有更简单的方法?
提前致谢!
【问题讨论】:
-
以防万一有人感兴趣 - 最后我使用了我提出的使用 OpenGL 帧缓冲区对象 (FBO) 的方法。正如预期的那样,效果非常好。我只是希望苹果有一些巧妙的技巧可以让 Core Video、Core Image 和 OpenGL 更轻松地协同工作....所以如果有人知道,我仍然会很感激!
标签: cocoa opengl 3d core-image core-video