2017-11-01 4 views
0

3次元再構成コードのテストデータを生成する必要があります。このため私はpanda3dを使うことにしました。私は簡単なアプリを作成してその場面を見ることができます。シーンの奥行きマップを作成する必要があります。つまり、画面上の各ピクセルについて、深度、つまりカメラから3D空間内の最も近いオブジェクトまでの距離(カメラ平面に垂直に移動する)を計算する必要があります。それにはどんなAPI関数が適していますか?panda3dでデプスマップを生成

答えて

0

これは、高度なシャドウサンプルで示されているように、シャドウマッピングと原則的に似ています。深度バッファをレンダリングするには、オフスクリーンのバッファとカメラを作成する必要があります。正射投影レンズを使用しない限り、結果の奥行き値は線形ではなく、レンズの近用値と遠用値を使用して線形値に変換する必要があります。近距離距離および遠距離距離は、所望の範囲の深度値を得るように構成されるべきである。

また、シェーダーを使用して適切な距離値をカラーバッファに書き込むことができます。これは、後でパースペクティブ投影を元に戻すことなく、パースペクティブカメラの距離値を保存したい場合や、元の世界空間の位置を格納する。

CPUの値にアクセスできるようにするには、テクスチャをバインドしてバッファをCPUアクセス可能なメモリにレンダリングした結果をPanda3Dに伝えるときにRTM_bind_or_copyの代わりにRTM_copy_ramの値を使用する必要があります。

関連する問題