Я пытаюсь сделать следующий в GLSL-ES:GLSL - сжатия/упаковки Множественные 0-1 цветов (var4) в одной Var4 переменной
Учитывая число (скажем, 4, например) нормированных var4
переменных (RGBA) уменьшают свою битовую глубину и упаковывают результаты в один 0-1 зажатый var4
. Это будет сохранено как текстура 8 бит (на канал), а затем распакована. Я понимаю, что это приведет к потере качества, но это приемлемо.
Таким образом, в этом примере:
RGBA 8 битого ->
сводится к RGBA 2 бита ->
упакован с 3 другим RGBA 2 битых var4s
->
сохранен как одна 8 битой RGBA текстура ->
распакован назад в 4 x RGBA 2-битные переменные ->
уменьшен до версии исходного качества с пониженным качеством.
Я понимаю, что я не могу выполнять бит-сдвиг в GLSL, поэтому мне нужно будет сделать некоторую коллекцию умножений, магическая комбинация которой до сих пор ускользнула от меня! Другие говорили о упаковочных поплавках в vec4s
, но моя проблема немного отличается.
Спасибо!
Или, может быть, более простой способ, чтобы сказать, что это было бы просто выжать четыре 8 битных каналов в пространстве одного 8-битового канала , – Child
Вы имеете в виду 'vec4', когда вы пишете' var4'? – derhass
Да, глупая ошибка. Я действительно имел ввиду vec4 – Child