打包纹理中的属性,延迟渲染

时间:2010-03-15 16:40:47

标签: shader hlsl packing cg

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

我有一个G缓冲区格式,每个组件使用16位固定点格式。可悲的是,当我针对着色器模型3硬件时,我无法使用位运算符。那么,基本上,如何将0..1范围内的2个8位值打包成单个16位通道,同样在0..1范围内?优选适用于CG或HLSL。

1 个答案:

答案 0 :(得分:0)

也许此链接可以为您提供帮助:http://www.gamedev.net/topic/534283-hlsl-pack-two-values-into-one-component-of-a-4x16_unorm-target/

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