Я даже не знаю (или забочусь), каково текущее освещение
Вы также на самом деле не знаете и не заботитесь о других вещах в наборе дескрипторов, но вы все равно должны предоставить его для обновления динамической привязки буфера. Это просто природа функциональности.
Таким образом, где бы вы ни хранили набор дескрипторов, вы также можете хранить массив, содержащий текущие привязки. Таким образом, вы просто изменяете этот массив, а затем используете этот массив в качестве массива pDynamicOffsets
.
Хотя могут существовать альтернативные механизмы, которые могут быть доступны для выполнения той же задачи (push-константы, расширение push-дескриптора, расширение индексации дескриптора), если вы используете динамические смещения, вы должны указать все динамические смещения в дескрипторе устанавливаются каждый раз.
С учетом сказанного, вы вполне можете поместить различные типы дескрипторов в различные дескрипторы множеств . Информация о освещении, вероятно, меняется реже, чем информация о преобразовании; в конце концов, не все ваши шейдеры будут визуализировать объекты со скином, но все ваши шейдеры будут освещать с этими параметрами. Поэтому размещение информации о освещении для каждого кадра в наборе 0 и преобразование для каждого объекта в наборе 1 имеет для меня большой смысл.
Так что, возможно, вашу проблему можно решить, просто используя больше наборов дескрипторов.