iOS OpenGL绘图线:不抗锯齿

时间:2014-02-25 03:16:41

标签: ios opengl-es

我试图在EAGLContext视图中渲染波形,但我无法让我的生活变成反锯齿。我的OpenGL代码有什么明显错误吗?是否需要更多信息?

 glLineWidth( 0.4f);// -  pass * 1.0f);
    glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glEnable(GL_BLEND);
    glEnable(GL_LINE_SMOOTH);


   glColor4f(1., 1., 1., 1.);

    // Set up vertex pointer,
    glVertexPointer(2, GL_FLOAT, 0, oscilLine);
    // and draw the line.
    glDrawArrays(GL_LINE_STRIP, 0, kDefaultDrawSamples);

enter image description here

1 个答案:

答案 0 :(得分:0)

  

我的OpenGL代码有什么问题吗?

glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
       ^^^^^^^^^^^^^^^^^^^^

尝试将其更改为GL_LINE_SMOOTH_HINT?

此外,由于您使用的是不推荐使用的1.x API,因此您应该使用glGet和GL_LINE_WIDTH_RANGE以及GL_LINE_WIDTH_GRANULARITY来验证0.4值实际上是支持的宽度。您还需要确保您创建的渲染目标具有Alpha通道的位。你能添加上下文创建代码吗?

最后,它不是真正的,但根据this article这种线条平滑机制在iOS设备上不起作用,尽管它显然可能在模拟器上。