【问题标题】:Make an EAGLView transparent?使 EAGLView 透明?
【发布时间】:2012-05-25 21:30:03
【问题描述】:

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

谢谢。

-更新----

我已经尝试过出现在this 帖子中。但是 EAGLView 的图层仍然看起来像一个黑色方块。 :(

知道为什么这对我不起作用吗?

【问题讨论】:

    标签: ios transparent eaglview


    【解决方案1】:

    openGLView.opaque = NO

    还要注意 OpenGL 帧缓冲区的 Alpha 通道中的正确不透明度。 并注意 Tark 关于性能下降的回答。

    【讨论】:

      【解决方案2】:

      没有EAGLView 这样的东西,但绝对有可能在UIKit 内容之上有一个带有透明背景的CAEAGLLayer。但是,从文档中不建议这样做:

      因为 OpenGL ES 渲染表面是使用 Core Animation 呈现给用户的,所以您应用到该层的任何效果和动画都会影响您渲染的 3D 内容。但是,为了获得最佳性能,请执行以下操作:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多