可以在UIViewController对象中放置EAGLView对象,并使EAGLView的背景透明,以便查看后面的内容?
谢谢。
-更新----
我试过这篇文章中出现的内容。但EAGLView的图层仍然显示为黑色正方形(
知道为什么这对我不起作用吗?
openGLView.opaque = NO
还要注意OpenGL帧缓冲区alpha通道中正确的不透明度。并注意Tark关于性能下降的回答。
没有EAGLView
这样的东西,但在UIKit内容之上有一个透明背景的CAEAGLLayer
是绝对可能的。但是,从以下文档中不推荐使用:
由于OpenGL ES渲染曲面是使用Core Animation呈现给用户的,因此应用于层的任何效果和动画都会影响渲染的3D内容。但是,为了获得最佳性能,请执行以下操作:
- 将层的不透明属性设置为TRUE
- 设置图层边界以匹配显示的尺寸
- 确保该层未变换
- 避免在CAEAGLLayer对象的顶部绘制其他图层。如果必须绘制其他非OpenGL内容,如果将透明的2D内容放置在GL内容之上,并确保OpenGL内容不透明且未转换,则性能成本可能是可以接受的
- 在纵向显示器上绘制横向内容时,应自行旋转内容,而不是使用CAEAGLLayer变换来旋转内容