非表示のボーンの実装


8

突然、目に見えないオブジェクト/ボーンを実装する方法がまったくわからなくなったような気がします。

現在、ハードウェアインスタンスを使用して、すべてのボーンのワールドマトリックスを頂点バッファーに格納し、それらすべてをパイプラインに送信しています。しかし、錐台カリングを処理するとき、または他の理由でシミュレーションでそれらを非表示に設定すると、それらの一部がランダムに表示されなくなります。

これは、表示されているユニットのマトリックスのみを使用して、フレームごとに最初からバッファーを効率的に再充填する必要があることを意味しますか?これは、多くの無駄な帯域幅を必要とするように思えます。


4
最初の文章から
チルス

1
@ Byte56この質問は、キャンプファイヤーの懐中電灯で読むのが最適です。

おかしいコメントをありがとう、しかし私は問題についていくつかの有用なインプットを得たいと思っていました。
DeadMG

1
まあ、あなたが無料で手に入れるつもりはないと思います。1つまたは両方を試してから、パフォーマンスを心配してください。
MichaelHouse

1
「現在、ハードウェアインスタンスを使用して、すべてのボーンのワールドマトリックスを頂点バッファーに格納し、それらすべてをパイプラインに送信しています。」この文は理解できません。マトリックスパレットのスキニングを行っていますか、それとも、同じオブジェクトの束を別の場所にレンダリングしているだけですか?後者はをまったく含まないためです。
Nicol Bolas

回答:


1

これを答えとしてもいいかもしれません...私が提案したことを実装してみて、目に見えないようにしたいユニットまたはオブジェクトを、スケールがゼロのボーンを参照するようにします。本当にそれは、複数のボーンがあり、その一部を非表示にしたいユニットの場合のみです。それ以外の場合は、ユニットを非表示にするときに、位置オフセットを削除するか、位置オフセットを本当に遠くに変更します。何を描くかをグラフィックカードに分類させてみてください。

パフォーマンスについてはまだそれほど心配する必要はありません。費用がかかることを無視する前に、少なくともこれらのものを試してください。時期尚早の最適化など。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.