2

我正在滚动延迟着色器管道,并且由于需要将 G 缓冲区保持为统一格式,因此需要压缩属性。遗憾的是,我一直无法找到有关如何实际完成的一些好的信息。

我有一个 G 缓冲区格式,它以定点格式每个组件使用 16 位。可悲的是,当我以着色器模型 3 硬件为目标时,我不能使用位运算符。那么,基本上,如何将 0..1 范围内的 2 个 8 位值打包到一个 16 位通道中,也在 0..1 范围内?最好适用于 CG 或 HLSL。

4

1 回答 1

0

也许这个链接会帮助你:http ://www.gamedev.net/topic/534283-hlsl-pack-two-values-into-one-component-of-a-4x16_unorm-target/

但根据我的经验,我会说包装成本很高。我使用更多的多个渲染目标(MRT)来保存数据,这对我来说很好。

于 2012-06-02T10:45:06.520 回答