2012-02-23 39 views
-1

可以在UIViewController对象中放置一个EAGLView对象并使EAGLView的背景透明以查看背后的内容?使EAGLView透明?

谢谢。

-UPDATE ----

我已经试过出现在this岗位。但是EAGLView的图层仍然显示为黑色正方形。 :(

任何想法,为什么这不是为我工作?

回答

2

openGLView.opaque = NO

另外要注意的正确的透明度在OpenGL帧缓冲区的alpha通道。 并注意关于性能下降的Tark答案。

0

有作为EAGLView没有这样的东西,但它肯定是有可能有一个CAEAGLLayer上的UIKit内容的顶部透明背景。这是但是不推荐,从文档:

因为一个OpenGL ES渲染表面呈现给使用核心动画的用户,适用于层的任何效果和动画影响3D内容渲染然而,为了获得最佳性能。 ,请执行以下操作:

  • 将图层的不透明属性设置为TRUE。
  • 设置图层边界以匹配显示的尺寸。
  • 确保图层不被转换。
  • 避免在CAEAGLLayer对象之上绘制其他图层。如果您必须绘制其他非OpenGL内容,则可能会发现如果将透明2D内容放置在GL内容之上,并且确保OpenGL内容不透明并且不进行转换,则性能成本可以接受。
  • 在纵向显示中绘制横向内容时,应该自己旋转内容,而不是使用CAEAGLLayer转换来旋转它。