gpt4 book ai didi

iphone - OpenGL ES iPhone - 绘制抗锯齿线

转载 作者:行者123 更新时间:2023-12-03 18:13:49 25 4
gpt4 key购买 nike

通常,您会使用以下内容:

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

glLineWidth(2.0f);

glVertexPointer(2, GL_FLOAT, 0, points);
glEnableClientState(GL_VERTEX_ARRAY);

glDrawArrays(GL_LINE_STRIP, 0, num_points);

glDisableClientState(GL_VERTEX_ARRAY);

它在 iPhone 模拟器中看起来不错,但在 iPhone 上,线条变得非常细,并且没有任何抗锯齿功能。

如何在 iPhone 上获得 AA?

最佳答案

使用不透明度为 0 的顶点可以非常便宜地实现抗锯齿效果。这是一个图像示例来解释:

alt text

与AA比较:

alt text

您可以在此处阅读有关此内容的论文:

http://research.microsoft.com/en-us/um/people/hoppe/overdraw.pdf

你可以这样做:

// Colors is a pointer to unsigned bytes (4 per color).
// Should alternate in opacity.
glColorPointer(4, GL_UNSIGNED_BYTE, 0, colors);
glEnableClientState(GL_COLOR_ARRAY);

// points is a pointer to floats (2 per vertex)
glVertexPointer(2, GL_FLOAT, 0, points);
glEnableClientState(GL_VERTEX_ARRAY);

glDrawArrays(GL_TRIANGLE_STRIP, 0, points_count);

glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);

关于iphone - OpenGL ES iPhone - 绘制抗锯齿线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1813035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com