使用此代码绘制GL_TRIANGLE_FAN时,我没有获得任何抗锯齿:
glDisable(GL_DEPTH_TEST);
// Blended points, lines, and polygons.
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);
glEnable(GL_POINT_SMOOTH);
glEnable(GL_LINE_SMOOTH);
glEnable(GL_POLYGON_SMOOTH);
我做错了什么?
答案 0 :(得分:4)
边缘抗锯齿始终是一个提示,实现(您没有指定哪个)可以根据规范自由忽略它。由于各种原因(例如,无法处理交叉多边形,与帧缓冲混合的不良交互),这种抗锯齿已经失宠,并被在帧缓冲级别工作的基于多样本的算法所取代。有一个ARB多重采样扩展来控制它(我相信它在规范的最新版本中是默认的,实际上)。或者,驱动程序通常可以在没有源代码修改的情况下全局启用它。