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

das*_*sen 5 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();
Run Code Online (Sandbox Code Playgroud)

Bur出于某种原因,这个点总是显示为正方形,而不是圆形...有谁知道为什么?

Gre*_*hen 6

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

glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
Run Code Online (Sandbox Code Playgroud)

我知道这对于线条平滑是必要的,而且我很确定它对于点数是相同的.

干杯, - 马特