OpenGl GLPointSize(float) work weird for me

Im working with open3d and I want to edit a part of the code where the increase/decrease pointsize happens.

What i am trying to do is increase/decrease the point size in a small number (like 0.01) but when I change the pointsize, the points on the screen wont change shape until the number is going over a certain number x.5 for me( like in 0.51 to 1.49 the point doesnt change and in 1.5 it is)

does anyone ever have this issue and know a workaround?

this is a part of the code that i changed in order to check if the pointsize change:

static float number = 0;
bool SimpleShaderForPointCloud::PrepareRendering(
        const geometry::Geometry &geometry,
        const RenderOption &option,
        const ViewControl &view) {
    if (geometry.GetGeometryType() !=
        geometry::Geometry::GeometryType::PointCloud) {
        PrintShaderWarning("Rendering type is not geometry::PointCloud.");
        return false;
    printf("number: %f\n", number);
    return true;