C ++将多个值编码为1个浮点数

时间:2013-04-07 18:49:25

标签: c++

我只有通过着色器暴露了这么多变量。其中一个值现在是颜色,但我现在正在混淆它,并在着色器中使用它来做其他事情。但是我需要更多。现在我正在使用x& y索引值的值,用于在1个大纹理上查找子纹理,着色器将偏移到该纹理。颜色的z值是指多少个子纹理适合大主要纹理的宽度。因为它们是索引值,所以它们实际上只需要整数,甚至最多256个字符也可以。

现在我希望能够从子纹理提供缩放值和子集偏移量,以便完全控制。因为我总是需要颜色的z浮点值,并且需要它是一个变量出来的浮点数。这给我留下了x,y,a(alpha)浮点值。有没有什么方法可以在这些中编码字节值,这样当我在着色器中解码它时,x实际存储2个值,y存储2个值,alpha存储2个值?

我希望这是有道理的。我希望能够通过我的游戏代码将值编码为浮点变量,然后在着色器中解码它们并在着色器中使用它们。这是可能的,如果是的话,我们会考虑什么样的价值限制,你会怎么做?

0 个答案:

没有答案