Я очень новичок в GLSL, но я пытаюсь написать ядро свертки с фрагментным шейдером для обработки изображений. Я смог сделать это просто отлично, когда мое ядро было маленьким (3x3), используя постоянную матрицу. Однако сейчас я хотел бы использовать ядро размером 9x9. Или, если уж на то пошло, произвольного размера. Моя первоначальная мысль состояла в том, чтобы установить текстурную память, содержащую ядро свертки. Затем, используя 2D-сэмплер, я читал текстурную память ядра и свертывал ее с текстурной памятью изображения (тоже 2D-сэмплер). Это правильный способ сделать это?
Я полагаю, вы также можете создать массив произвольного размера, содержащий коэффициенты. Это может работать для 81 коэффициента, но что произойдет, если вы хотите что-то большее? Например, 20x20?
В общем, если вам нужно получить доступ к нескольким большим объектам в GLSL, какова правильная стратегия? Спасибо! Спасибо,
D