Я рендерил несколько источников света за проход с тенями и использую мип-карты теневых кубов для хранения теней меньших удаленных источников света. Таким образом, я могу передать больше теневых карт фрагментному шейдеру, учитывая ограничение текстурных блоков 16 или 32 на большинстве аппаратных средств. Затем я читаю их с помощью textureLod () и samplerCube.
Теперь проблема в том, что я хочу использовать аппаратную PCF, и для этого я бы использовал samplerCubeShadow. Однако textureLod () не принимает samplerCubeShadow в качестве одного из входных данных, что мне кажется искусственным ограничением, учитывая, что он поддерживает, например, sampler2DShadow.
Есть ли обходной путь для этого, кроме дорогостоящего ручного цикла в фрагментном шейдере?