問題タブ [bsp-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
661 参照

geometry - BSP からのポリゴン

バイナリ スペース パーティション ツリーによって指定された 3D ボリュームがあります。通常、これらはポリゴン モデルから作成され、分割されたポリゴンはツリー ノード内に既に格納されています。

しかし、私のものはそうではないので、ポリゴンはありません。すべてのノードには、切断面以外には何もありません (たとえば、法線と原点の距離によって与えられます)。したがって、ツリーは、作成されたすべてのカットによって定義されるソリッド 3D ボリュームを表します。ただし、視覚化するには、このボリュームのポリゴン メッシュが必要です。どうすればそれを効率的に再構築できますか?

大雑把な方法は、葉の無限の半空間を十分な大きさの多面体 (立方体など) に変換し、それらのすべてをツリーの上に押し上げて、通過するすべてのノードの平面で切断することです。ツリーのバランスが取れていない可能性があるため(たとえば、凸多面体から愚かに作成された場合)、これは非常にコストがかかるようです。古典的な解決策はありますか?

0 投票する
2 に答える
1204 参照

c++ - Quake 3 マップのレンダリングに関する問題

私は Quake 3 BSP ローダーに取り組んできました。ただし、顔を正しくレンダリングできません。

ここに画像の説明を入力

これがマップの頂点です。マップ上に顔をレンダリングすると、次のようになります。

ここに画像の説明を入力

これはレンダリングのコードです:

完全なソース コード:

0 投票する
1 に答える
85 参照

binary-search-tree - アンバランスをバランスのとれた BSP ツリーに変換しますか?

アンバランスなbsp をバランスの取れた bsp ツリーに変更する方法を示す例が必要です。

私を助けてください。

0 投票する
1 に答える
86 参照

3d - オブジェクトを後ろから前にレンダリングするための正射投影と BSP ツリー

3D 空間の三角形から BSP ツリーを構築しています。すべての三角形は、BSP ツリーを作成する前にビュー空間に変換されています。したがって、ポイント (0, 0, 0) を視聴者の目の位置として使用し、ツリーを遠くから近くまでトラバースし、訪れたすべての三角形をリストに追加します。

次に、リストを繰り返し処理し、三角形を正投影で変換して画面に描画します。これはほとんどの場合機能しますが、三角形の順序が間違っているために奇妙なアーティファクトが発生することがあります。代わりに透視投影を使用すると、これは決して起こりません。

正投影でこれが起こるのはなぜですか? 正投影での可視性の問題を解決するときに、BSP ツリーは機能しませんか? または、目の位置を採用する必要がありますか?