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