代码之家  ›  专栏  ›  技术社区  ›  drootang

iPhone OpenGL ES alpha在模拟器中混合为白色,在iPhone中混合为灰色

  •  1
  • drootang  · 技术社区  · 16 年前

    我的问题是在iPhone上使用OpenGL ES 1.1的alpha混合不正确。与许多其他人的问题不同,纹理并不涉及。

    我在淡蓝色的背景上画了几十个白色的小圆圈。每个圆都被画成一个GL_点。我正在设置从alpha=1.0到alpha=0.0的渐变动画。在iPhone模拟器中,一切都工作得很好。这是当alpha接近0时动画最后一帧之一的快照:[已移除]

    当我实际将它安装到一个原始的2G iPhone上时,问题就出现了。当alpha接近零时,不是渲染为淡白色的圆,而是将每个点渲染为深灰色的圆。这是一个错误的iPhone渲染快照:[删除]

    我使用的一些相关电话是:

    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) ;
    glEnable(GL_POINT_SMOOTH);
    

    这都是一个正交视图的二维。

    similar question 并已确认CAEAGLLayer.opaque设置为TRUE。

    (很抱歉没有超链接的图像。新用户限制…)

    0 回复  |  直到 9 年前
    推荐文章