可以在UIViewController对象中放置一个EAGLView对象并使EAGLView的背景透明以查看背后的内容?使EAGLView透明?
谢谢。
-UPDATE ----
我已经试过出现在this岗位。但是EAGLView的图层仍然显示为黑色正方形。 :(
任何想法,为什么这不是为我工作?
可以在UIViewController对象中放置一个EAGLView对象并使EAGLView的背景透明以查看背后的内容?使EAGLView透明?
谢谢。
-UPDATE ----
我已经试过出现在this岗位。但是EAGLView的图层仍然显示为黑色正方形。 :(
任何想法,为什么这不是为我工作?
openGLView.opaque = NO
另外要注意的正确的透明度在OpenGL帧缓冲区的alpha通道。 并注意关于性能下降的Tark答案。
有作为EAGLView
没有这样的东西,但它肯定是有可能有一个CAEAGLLayer
上的UIKit内容的顶部透明背景。这是但是不推荐,从文档:
因为一个OpenGL ES渲染表面呈现给使用核心动画的用户,适用于层的任何效果和动画影响3D内容渲染然而,为了获得最佳性能。 ,请执行以下操作:
- 将图层的不透明属性设置为TRUE。
- 设置图层边界以匹配显示的尺寸。
- 确保图层不被转换。
- 避免在CAEAGLLayer对象之上绘制其他图层。如果您必须绘制其他非OpenGL内容,则可能会发现如果将透明2D内容放置在GL内容之上,并且确保OpenGL内容不透明并且不进行转换,则性能成本可以接受。
- 在纵向显示中绘制横向内容时,应该自己旋转内容,而不是使用CAEAGLLayer转换来旋转它。