Как индексировать текстуру как таблицу дискретного поиска из шейдера? - PullRequest
1 голос
/ 25 февраля 2009

Я пишу шейдер в GLSL, и мне нужно передать ему определенное количество информации. Единственный практический способ передачи этой информации - использование 1-D текстуры.
Я создаю текстуру и устанавливаю GL_TEXTURE_MIN_FILTER и GL_TEXTURE_MAG_FILTER в GL_NEAREST
Теперь из шейдера мне нужно получить доступ к текстуре, чтобы я мог точно индексировать каждый из чисел 3-го вектора, который я вставил в него. Какой верный способ сделать это легко?
То, что я ищу, это формула, которая принимает размер массива и индекс, который я хочу, и дает мне число в [0,1], которое соответствует нужному текселю.

Ответы [ 2 ]

2 голосов
/ 25 февраля 2009
idx/(size-1)

возможно? Просто убедитесь, что idx и size являются числами с плавающей точкой.

1 голос
/ 25 февраля 2009

Только что обнаружили, что OpenGL 3.0 делает эту потребность устаревшей с введением функций texelFetch(), которые также доступны с расширением GL_EXT_gpu_shader4

...