ios - OpenGL ES 再次抗锯齿

标签 ios opengl-es antialiasing

我用这样的图元绘制 3d 场景:

glLoadIdentity();

glColor4f(model[i][8], model[i][9], model[i][10], 1.0);
glTranslatef(current_x, current_y, current_z);


glVertexPointer(3, GL_FLOAT, 0, &squareVertices[0]);
glEnableClientState(GL_VERTEX_ARRAY);
glShadeModel(GL_FLAT);

glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

当然没有抗锯齿。我已经阅读并尝试了很多建议(包括 stackoverflow)。例如:

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

但是还是不能实现aa-technique。 谁能告诉我,是否可以不修改大量现有代码?

最佳答案

您正在 GL_TRIANGLE_STRIP 上使用 GL_LINE_SMOOTH。 iOS 不支持线条平滑,更重要的是只能在线条上使用。您是否在绘制之前启用混合?

This是关于同一问题的好问题。

最好的方法是使用边缘模糊 (alpha) 的纹理并将其应用于三角形。这将产生线条平滑效果。

这个可以看here .

关于ios - OpenGL ES 再次抗锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4232577/

相关文章:

ios - 更改 watchKit 中的初始界面 Controller

cocoa - 向 Cocoa 标签添加阴影(凹陷文本效果),而不降低文本渲染质量

python - 从图像中删除抗锯齿

ios - 无法将类型 'String.Type' 的值转换为预期的参数类型 'String!'

ios - iPad2 只给出错误的宽度和高度?

ios - 使用不同比例时纹理变得模糊

opengl-es - 尝试附加纹理时,GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT

android - OpenGL ES 2.0 中的纹理图集

javascript - 如何使用 Swiffy 抗锯齿 Canvas ?

ios - 使用 iOS 图表将图片保存到相机胶卷