Я имею метод для создания шейдерных программ. Каждая программа по событию отрисовывает массив точек, то есть по клику, я добавляю точку на canvas.
Создаю первую шейдерную программу, массив и буффер. Задаю размер и цвет точек через uniform.
Привязываю функцию, которая заполняет массив программы, к событию мыши(левый клик). Кликаю по canvas, все окей, отрисовывается точка нужного цвета и размера.
Далее, так же создаю вторую программу, задаю размер и цвет точек. Привязываю функцию пополнения к другому событию мыши(правый клик).
Кликаю левую клавишу, отрисовываются точка, но ее цвет и размер, такие же как у второй программы, кликаю на ПКМ, все точки что были отрисованы в первом шейдере исчезают, и отображаются точки что были добавлены на второй шейдер.
Получается, если добавить третий шейдер, заданные для него значения размера и точки, заменят эти значения всех предыдущих программ.
Почему значения размера и цвета точек заменяются?
Можно ли сделать так чтобы шейдеры отображались одновременно?