glsl fragmentshader render objectID

Как правильно передать целочисленный идентификатор объекта в целочисленный буфер текстуры?

Скажем, у меня есть 2D-текстура с внутренним форматом GL_LUMINANCE16, и я прикрепляю ее как вложение цвета к моему FBO.

При рендеринге объекта я передаю шейдеру целочисленный идентификатор и хочу отобразить этот идентификатор в моей целочисленной текстуре.

Однако вывод фрагментного шейдера имеет тип vec4. Как мне правильно преобразовать мой идентификатор в четырехкомпонентное число с плавающей запятой и избежать неточностей преобразования, чтобы в конце целочисленное значение в моей целочисленной цели текстуры соответствовало целочисленному идентификатору, который я хотел отобразить?

6
задан Mat 12 May 2012 в 11:05
поделиться