为什么不“glEnable(GL_POINT_SMOOTH);”努力使以下几点成为一个圆圈?

时间:2010-11-23 15:55:41

标签: c opengl

我正在尝试使用GL_POINT为每个棋子编码(在c中,使用opengl)一块棋盘游戏。 我有以下代码:

        glEnable(GL_POINT_SMOOTH);
        glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
        glPointSize(20.0f);
        glBegin(GL_POINTS);

        glVertex2d(200, 200);

        glEnd();
由于某些原因,这个点总是显示为正方形而不是圆形...... 有谁知道为什么?

2 个答案:

答案 0 :(得分:6)

实际上,要使平滑工作,您可能只需要启用混合。 尝试添加:

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

我知道这对于线条平滑来说是必要的,而且我很确定它对于点来说也是一样的。

干杯, -matt

答案 1 :(得分:4)