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