Передача массива int в фрагментный шейдер - PullRequest
1 голос
/ 02 декабря 2010

Я пытаюсь построить итеративную функцию в OpenGL ES. Массив целых чисел обновляется с учетом того, как часто данный пиксель попадает в итеративную функцию. Я хотел бы передать этот массив плотности фрагментному шейдеру и использовать его для отображения результата на простом квадраторе, охватывающем весь экран.

Мой вопрос: могу ли я передать этот массив непосредственно в шейдер в виде униформы и сгенерировать пиксели, используя gl_FragCoord , чтобы посмотреть плотность для данной позиции

или

мне лучше использовать массив для создания текстуры с одним каналом, используя GL_LUMINANCE и передать это шейдеру?

1 Ответ

4 голосов
/ 02 декабря 2010

Доступно ограниченное количество униформ, и индексация может вызывать проблемы, поскольку не все графические процессоры поддерживают непостоянную индексацию.2D-текстура Nx1 не имеет ни одной из этих проблем, но возвращает значения в диапазоне [0, 1].Вы можете уменьшить эти значения, чтобы получить исходное целое число и использовать его.

...