Иногда полезно иметь вершинный шейдер, который предоставляет набор атрибутов для различных фрагментных шейдеров, не беспокоясь о том, использует ли его каждый конкретный фрагментный шейдер.В этих случаях допустимо, чтобы компилятор и компоновщик удалили атрибуты, которые фактически не используются в выводе вершинного шейдера, и они будут сопоставлены с дескриптором no-op -1.
Этооднако это не гарантированное поведение - это просто оптимизация, которую GLSL-компилятор может выполнять бесплатно, и поэтому в конечном итоге рекомендуется оптимизировать ваши шейдеры так, чтобы вершинный шейдер предоставлял только те данные, которые нужны фрагментному шейдерукак вы можете получить улучшения производительности на некоторых платформах.