如何在OpenGL中绘制圆形和方形的点

时间:2019-01-03 20:07:23

标签: c++ opengl

我在下面的代码中使用圆角绘制点,

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

但是,我需要绘制两个不同的点,一个正方形和一个圆形。

例如,仅在使用时:

glEnable(GL_POINTS)

我知道画了方形点:■

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

我知道圆角已绘制:●

我有两种绘制不同对象的方法。 我的平方点方法:

MyClass::squarePoint()
{
    glPointSize(10.0);
    glEnable(GL_PROGRAM_POINT_SIZE);
    glBegin(GL_POINTS);
    glEnd();
}

和我的四舍五入方法:

MyClass::roundedPoint()
{
    glPointSize(10.0);
    glEnable(GL_PROGRAM_POINT_SIZE);
    glEnable(GL_POINT_SMOOTH);
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glBegin(GL_POINTS);
    glEnd();
}

和我的paintGL方法,以防万一:

MyClass::paintGL()
{
    this->squarePoint();
    this->roundedPoint();
}

我的问题是,绘制圆点时如何防止圆点中的平方点变换?

我的问题:

Gif Example

0 个答案:

没有答案