如何在iPhone上的相机视频上方绘制OpenGL ES上下文?

时间:2010-09-15 15:44:19

标签: iphone opengl-es

  

可能重复:
  OpenGL Layer on top of Video on iPhone?

我想在iOS 4中的相机视频上方绘制一些OpenGL ES上下文。

我正在使用Apple的这个教程从相机中获取视频帧: http://developer.apple.com/library/ios/#qa/qa2010/qa1702.html

像魅力一样工作。我可以从相机中获取视频帧并显示它们。

但是 - 我想在视频上方显示一些OpenGL ES绘图。该上下文应该具有透明背景,并且仅显示我绘制的内容。

用于显示视频的代码:

 AVCaptureVideoPreviewLayer *previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:session1];

UIView * aView = [自我视图];  previewLayer.frame = aView.bounds; //假设您希望预览图层填充视图。  [aView.layer addSublayer:previewLayer];

用于显示OpenGL绘图的代码:

  glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer);

[context presentRenderbuffer:GL_RENDERBUFFER_OES];

问题是 - 我只能绘制一个完整的OpenGL图层(意思是,带背景,说黑色)并且不仅可以绘制一些具有透明背景的opengl工件(这样用户就可以在opengl上下文中看到视频) )。

非常感谢, fiod

1 个答案:

答案 0 :(得分:1)

使用3d模型后面的相机图像渲染纹理平面