我在 iPhone 上使用 OpenGL 画一条线。我用GLView
和GLKView
代表来画线。但是现在我想将背景图像设置为GLKViewController
,并且在背景图像上,我想画线。我尝试使用 设置背景图像UIImageView
,但图像出现在 ( GLKView
) 画线上方。
如何将背景图像设置为GLKViewController
?
我在 iPhone 上使用 OpenGL 画一条线。我用GLView
和GLKView
代表来画线。但是现在我想将背景图像设置为GLKViewController
,并且在背景图像上,我想画线。我尝试使用 设置背景图像UIImageView
,但图像出现在 ( GLKView
) 画线上方。
如何将背景图像设置为GLKViewController
?
最简单的方法应该是添加带有背景图像的附加视图(例如您提出的 - 但您需要将其设置在 OpenGL 视图后面)。尝试这个:
[RootViewController.view addSubview: BackgroundView belowSubview: OpenGLView];
OpenGLView.opaque = NO;
但这会带来一些 FPS 损失(出于性能原因,Apple 建议使用不透明的 OpenGL 视图)。更正确的方法是通过 OpenGL 作为全屏四边形绘制背景。
我只想声明,接受的答案是一个非常糟糕的答案......即使在较新的设备(iPhone 5、iPad 2 和更新的设备)上关闭不透明,您也会几乎立即失去 20fps。性能损失是可怕的,不应掉以轻心。
您可以在 OpenGL 中设置背景并保持不透明。将 UIImage 转换为 OpenGL 纹理并进行渲染。根据您的 OpenGL 环境,这可以通过多种方式轻松完成。