我正在尝试在 GLSL 2 es 中执行以下操作:
给定一个数量(例如 4 个)归一化var4
变量(RGBA)减少它们的位深度并将结果打包在一个 0-1 中var4
。这将存储为 8 位(每通道)纹理,然后解压缩。我意识到这会导致质量损失,但这是可以接受的。
所以在这个例子中:
RGBA 8 位
->
缩减为 RGBA 2 位
->
,与 3 个其他 RGBA 2 位一起var4s
->
保存为单个 8 位 RGBA 纹理,
->
解压缩后重新压缩为 4 x RGBA 2 位变量
->
,缩小为原始质量的降低版本。
我意识到我不能在 GLSL 中进行位移,所以我必须做一些乘法的集合,它的神奇组合到目前为止让我无法理解!其他人谈到了包装浮动,vec4s
但我的问题有点不同。
谢谢!