Увеличение и уменьшение размера точки влияет более чем на один пиксель, но шейдеры предназначены для запуска только один раз на пиксель.Это не удастся, поскольку после запуска программы шейдера для определенного пикселя изменение может повлиять только на следующие пиксели, но не на предыдущие пиксели.
Шейдерные программы запускаются одновременно на нескольких шейдерных модулях и для многихпикселей параллельно, что делает невозможным то, что вы пытаетесь сделать.Ограничением будет то, что можно установить размер пикселя с помощью шейдерной программы, но он сохранит свой размер для всех пикселей, которые запускает шейдерная программа.
Вы можете попытаться отсортировать данные точек по размеру и групповым точкамодного размера в один массив и нарисуйте каждый массив с разными размерами точек.
Или вы можете попробовать сделать это с косвенным направлением, когда вы сначала визуализируете разные размеры точек в текстуру, а во втором проходе визуализируетепикселей, получая доступ к данным текстуры и используя их для проверки, должен ли пиксель отображаться (или нет).