Как отключить сглаживание opengl?

Хочу закрасить полигон, но так, чтобы закрасились пиксели только те, которые попали в область. введите сюда описание изображения

квадратики, это пиксели

вот код:

auto drawPolygon2 = [&]()
{
    std::vector<QPolygonF> polygons;
    polygons.push_back(_polygon_pixels);
    std::vector<uint32_t> indices = mapbox::earcut<uint32_t>(polygons);

    glPushAttrib(GL_CURRENT_BIT);
    glColor4f(0.0f, 1.0f, 0.0f, 0.5f);
    glPushMatrix();

    glLineWidth(2.0f);

    glPointSize(10);
    glBegin(GL_TRIANGLES);
    for (auto point : indices)
        glVertex2i(static_cast<int>(_polygon_pixels.at(point).x()), static_cast<int>(_polygon_pixels.at(point).y()));

    glEnd();

    glBegin(GL_POINTS);
    for (auto point : _polygon_pixels)
        glVertex2i(static_cast<int>(point.x()) + 0.5, static_cast<int>(point.y()) + 0.5);


    //// текущая точка, чтобы видеть линию которая будет нарисована
    //glVertex2f(_point.x(), _point.y());

    glEnd();

    glColor4f(0.3f, 0.3f, 0.3f, 0.5f);
    // описывающий квадрат!
    glBegin(GL_LINE_LOOP);
    auto rect = _polygon_pixels.boundingRect();
    glVertex2i(rect.topLeft().x(), rect.topLeft().y());
    glVertex2i(rect.topLeft().x(), rect.bottomRight().y());
    glVertex2i(rect.bottomRight().x(), rect.bottomRight().y());
    glVertex2i(rect.bottomRight().x(), rect.topLeft().y());
    glEnd();

    glPopAttrib();
    glPopMatrix();

    drawLinePolygon3();
};

Ответы (0 шт):