2

私は遅延シェーダー パイプを展開しています。G バッファーを統一された形式で保持する必要があるため、属性を圧縮する必要があります。残念ながら、これが実際にどのように行われるかについての良い情報を見つけることができませんでした。

固定小数点形式でコンポーネントごとに 16 ビットを使用する G バッファー形式があります。残念ながら、シェーダー モデル 3 ハードウェアをターゲットにしているため、ビット演算子を使用できません。では、基本的に、0..1 の範囲の 2 つの 8 ビット値を 1 つの 16 ビット チャネルにパックするにはどうすればよいでしょうか。できれば 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 に答える