1

問題を簡単にするために、球について考えてみましょう。球を持っていて、実行する前に、半径、位置、三角形の数を知っているとしましょう。また、三角形の数が十分に多いとしましょう(たとえば、約5万個の三角形)。

一般に、この球メッシュを事前に作成してすべての50k三角形をグラフィックカードにストリーミングする方が速いでしょうか、それとも単一のポイント(球の中心を表す)を送信し、テッセレーションとジオメトリシェーダーを使用して球を構築する方が速いでしょうか。 GPUで?

これらの球を100個異なる位置に配置した場合、さらに高速になりますか?ハル/ジオメトリシェーダーを使用して、インスタンス化と組み合わせることができるものを作成できますか?

4

2 に答える 2

3

テッセレーションは確かに価値があります。特に、ハイトマップからの変位と組み合わせる場合。あなたの質問で説明されている孤立した環境は、あなたの質問に完全に答えることはできません。

テッセレーションを使用する前に、CPUのポリ/三角形にバインドされることを知っておく必要があります。したがって、ゲーム/シーンの全体的な三角形を増やすためにGPUの利用を開始する必要があります。GPUでの計算は非常に高速であるため、テッセレーションを使用する場合は、複数のサブディビジョンレベルを使用することをお勧めします。ただし、200の三葉機から3〜4回サブディビジョンすることに満足している場合もあります。

主にテッセレーションは、環境/静的メッシュシーンオブジェクトに使用されるため、CPUに縛られることなく、キャラクターやその他の移動/アニメーションモデルにトライを費やすことができます。

Unity3DやCryEngineなどのチェックアウトエンジンで、学習曲線を支援するテッセレーションの例を確認してください。

于 2012-12-14T21:18:29.997 に答える
1

私はたまたまこれを同時に使っています。

FPSに関しては、この状況では、(他のモデルと同様に)1つの巨大な50K三角形の球のペイロードをダンプし、そこから複数の場所に描画できるため、事前に計算された方法の方が高速です。

すべての三角形が数式からフレームごとに複数回生成されるため、テッセレーション方法は遅くなります。

于 2012-12-13T16:24:28.297 に答える