2

我正在尝试在 iPhone 上显示全屏视频并用 OpenGL ES 视图覆盖它。所以基本上,我希望在后台播放视频,同时在其上绘制 OpenGL 图形。

我如何做到这一点,甚至有可能吗?

谢谢你的帮助!

弗洛里安

4

2 回答 2

4

要使用自定义叠加视图显示相机视频背景,可以使用 UIImagePickerController 的 cameraOverlayView 属性。cameraOverlayView 将显示在默认图像选择器界面的顶部。使用 cameraViewTransform 属性使相机预览全屏。

imagePickerController.cameraViewTransform = 
CGAffineTransformMakeScale(1.0, 1.03);

要将 UIView 子类实现为支持 OpenGL ES 渲染的覆盖视图,请查看 Apple 的示例代码http://developer.apple.com/iphone/library/samplecode/GLGravity/Listings/Classes_GLGravityView_m.html

关键是让你的覆盖视图透明。

overlayView.opaque = NO; 
overlayView.alpha = 1.0; 
overlayView.backgroundColor = [UIColor clearColor];

在您的 OpenGL ES 渲染代码中,确保使用零 alpha 清除颜色。

glClearColor(0,0,0,0) ;
于 2010-05-01T04:32:34.073 回答
1

从少量信息泄漏看来,您想要的功能将成为 OS 3.1 的一部分,允许支持增强现实,请参阅AppleInsider上的这篇文章。

于 2009-07-30T06:18:39.817 回答