@Aevastylelol

Как решить проблему с отображением шейдеров?

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

Получается, если добавить третий шейдер, заданные для него значения размера и точки, заменят эти значения всех предыдущих программ.

Почему значения размера и цвета точек заменяются?
Можно ли сделать так чтобы шейдеры отображались одновременно?
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 1
Бинди шейдеры на разные программы и перерисовывая разные масивы переключай useProgram()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы