2011-12-06 14 views
0

こんにちは私はQuakeレベルレンダラーを書いています。私は、透明性を考慮する必要があるところまで行きます。私はバイナリ・スペース・パーティショナー(BSP)ツリーが、データが距離でソートされているか、少なくとも私が聞いたものであるかのようにフォーマットされていることを知っていますが、これを達成する方法は失われています。私は私のBSPツリーを構築して、PVSをデコードしました。BSPツリーを横断する方法

Do I: 1.私がどの葉に入っているのかを把握してください。 2.最大から葉6までレンダリングし、これらの葉が私の錐台とPVSにあることを認めました。 3.分から葉6までレンダリングし、再びPVSと錐台を考慮に入れます。

これはBSPツリーの仕組みではありませんか?

それは質問#1です。質問番号2はPVSを扱います。私は、宇宙が問題になっていた昔、圧縮されたPVSが素晴らしかったことを知っています。私が今持っている方法では、フレームをレンダリングするたびにPVSを圧縮解除せず、レンダリング中にトラバースするベクトルに葉の可視性を保存します。これは理にかなっているのですか、それは逆効果ですか?

もう一度説明すると、葉がすでに距離によってソートされ、葉6(9個の合計葉)でソートされているので、9,8,7,6,1,0をレンダリングする必要があります。 2、3、4、5(葉6のPVSにはすべて9が表示されていると仮定します)のように、PVSと錐台を再度考慮します。

ありがとうございます。

答えて

0

先頭に戻るようにレンダリングするには、最初にカメラがあるノード(近くのノード)を横断/再帰することを提案します。作業が完了したら、遠いノードを横断します。

関連する問題