我试图在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);
答案 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设备上不起作用,尽管它显然可能在模拟器上。