uvec4
- целое число без знака.В текстуру можно записывать только целочисленные значения без знака, которые также имеют целое число без знака формат текстуры . Предупреждение : не путайте нормализованные форматы текстур с целочисленными форматами.GL_RGBA8
- это , а не формат целочисленной текстуры без знака.Это нормализованный формат текстуры без знака.Если вы хотите написать действительные целые числа, тогда вы должны написать GL_RGBA8UI
.
Однако, если я могу прочитать ваши намерения, вы, вероятно, ожидаете, что uvec4(255, 255, 255, 255)
будет белым.Вы не можете сделать это.Если вы хотите визуализировать на экране, вы должны использовать правильные значения цвета с плавающей точкой.Они будут преобразованы в соответствующие значения для вывода.Если выходное изображение имеет формат GL_RGBA8
, то значения с плавающей запятой в диапазоне [0, 1] будут преобразованы в [0, 255] для хранения.
Так что вы должны записывать в vec4
и запись значений в диапазоне [0, 1].Не пытайтесь бороться с этим;просто примите это сейчас и двигайтесь дальше.