3

私の世界に次のような3Dオブジェクトがあると仮定します。

http://en.wikipedia.org/wiki/File:Graftal3.png

たとえば、描画方法に関する情報を格納するノードもあります...

http://en.wikipedia.org/wiki/File:Graftal4.png

あるものから別のものへの補間を行うにはどうすればよいですか。私の調査から、頂点シェーダーを使用する必要があることがわかっています。しかし、私を悩ませている主な部分は、2番目のモデルが元の画像よりも多くの頂点を持っていることです。

この効果をどのように達成すべきかについてのガイダンスを期待しています。

ありがとう!

4

1 に答える 1

2

頂点シェーダーは、あなたが説明している状況では間違っています。代わりにジオメトリ シェーダーを使用します。これには、Direct3D 10 または OpenGL 3.2 (または、適切な拡張子を持つ OGL2) のいずれかを使用する必要があります。

ジオメトリ シェーダーでは、必要に応じて追加の頂点を放出できる基本的なジオメトリ データを使用してフィードします。あなたの場合、おそらくツリーのルートの単一行をフィードし、必要に応じてツリーをテッセレートします。

アプリケーションを実行する予定のレンダリング システムに応じて、シェーダーの言語にはいくつかのオプションがあります。使用しているレンダリング システムを指定していないため、実際の実装はこの選択に依存します。

他の唯一の実際のオプションは、昔ながらの方法でシェーダーの外部でジオメトリを生成し、ジオメトリ シェーダーを使用せずにレンダリングすることですが、必要に応じて頂点シェーダーとピクセル シェーダーを使用します。

また、使用している OGRE のバージョンにも依存します。ジオメトリ シェーダーは Ogre 1.6 以降でサポートされており、問題ないはずです。

于 2012-08-22T06:39:09.693 に答える