Для рендеринга сцены обычно используется более одной шейдерной программы, которая, в моем случае, использует одни и те же атрибуты и разделяет, по крайней мере, некоторые из униформ. Чтобы они работали должным образом, я в настоящее время играю в безопасности, то есть я перепривязываю атрибуты и получаю соответствующие одинаковые местоположения каждый раз, когда переключаюсь между шейдерными программами. Таким образом, в основном несколько раз в каждом кадре, что, вероятно, не лучший подход.
Итак, нужно ли (в общем) перепривязывать атрибуты и униформу после переключения шейдерных программ? И почему?
Если да, есть ли способ сделать это один раз при запуске программы и никогда больше не трогать их (кроме установки одинаковых значений)?