Рендеринг больших круговых точек в современном OpenGL

Я хочу визуализировать заполненные круги динамически изменяющегося радиуса вокруг набора точек, чьи 2D-координаты хранятся в VBO. До сих пор я использовал GL_POINT_SMOOTH, но теперь перешел на OpenGL 4.0, эта опция больше не доступна. Я видел похожий вопросВот но это не совсем соответствует моим потребностям, потому что центры кругов в этом примере жестко закодированы в фрагментном шейдере. Как бы я это сделал?

На данный момент мой вершинный шейдер выглядит так:

#version 400

layout(location=0) in vec2 in_Position;
layout(location=1) in vec4 in_Color;
out vec4 ex_Color;

uniform vec4 bounds;

void main(void){
    float x = -1+2/(bounds.y-bounds.x)*(in_Position.x-bounds.x);
    float y = -1+2/(bounds.w-bounds.z)*(in_Position.y-bounds.z);
    gl_Position = vec4(x,y,0,1);
    ex_Color = in_Color;
}

И мой фрагментный шейдер выглядит так:

#version 400

in vec4 ex_Color;
out vec4 out_Color;

void main(void){
    out_Color = ex_Color;
}

С этими шейдерами я получаю квадратные очки.

Ответы на вопрос(1)

Ваш ответ на вопрос