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