我正在滚动延迟着色器管道,并且由于需要将G缓冲区保持为统一格式,因此需要压缩属性。遗憾的是,我无法找到关于如何实际完成的一些好消息。
我有一个G缓冲区格式,每个组件使用16位固定点格式。可悲的是,当我针对着色器模型3硬件时,我无法使用位运算符。那么,基本上,如何将0..1范围内的2个8位值打包成单个16位通道,同样在0..1范围内?优选适用于CG或HLSL。
答案 0 :(得分:0)
也许此链接可以为您提供帮助:http://www.gamedev.net/topic/534283-hlsl-pack-two-values-into-one-component-of-a-4x16_unorm-target/
但根据我的经验,我会说包装成本很高。我使用更多多个Rendertargets(MRT)来保存数据,这对我来说很好。