【问题标题】:No transparency on OpenglES layer on iOS simulatoriOS模拟器上的OpenglES层没有透明度
【发布时间】:2014-02-19 13:46:06
【问题描述】:

在我的 IOS 应用程序中,我有一个带有 2 个视图的屏幕:一个经典 UIView 和一个 openGLES 视图。 3d 视图在 2d 之上,我设置了清晰的背景以查看其后面的 2d 视图。

它在所有 ios 设备上都按预期显示,但 3d 视图在 ios 模拟器上是不透明的。 在 3DView 我使用这些行:

[myOpenGLView setBackgroundColor:[UIColor clearColor]];
[myOpenGLView setOpaque:NO];

在每次渲染之前我都会调用:

glClearColor(0.,0.,0.,0.);
glClear(GL_COLOR_BUFFER_BIT);

有人遇到同样的问题吗?

【问题讨论】:

  • 您是否按照此处的所有步骤操作:stackoverflow.com/a/4456862/19679?请注意,您需要使用支持您的视图的 CAEAGLLayer,而不是视图本身。

标签: ios iphone objective-c opengl-es ios-simulator


【解决方案1】:

似乎我无法更改 eaglLayer 的不透明度。

我的 opengl 视图是一个单例,当我初始化它时我调用它

eaglLayer.opaque = YES;

当我第二次使用它时(我需要透明度),我将其值更改为 NO,但该图层在模拟器上为黑色,在 iOS 设备上为半透明。

另一方面,如果我直接将不透明度设置为 NO,我就没有模拟器上的错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    相关资源
    最近更新 更多