0

図のように、画面には複数のリングがあります。ここに画像の説明を入力してください要件は、ユーザーが任意のリングを選択でき、選択したリングがグロー効果を受ける必要があることを示しています(数秒間グローしてから緑色になります)。ここに画像の説明を入力してくださいすべてのグラフィックスレンダリングは、DirectX 9+HLSLを使用して実行されます。私が直面している問題:

  • シェーダーコードで選択したリングを他のリングと区別して、グロー効果をそのリングにのみ適用できるようにする方法。
4

2 に答える 2

1

さまざまなrendertargetを操作する必要があります(SetRenderTargetのドキュメント)。まず、選択されていないすべてのリングをバックバッファにレンダリングします。次に、選択したリングをレンダーターゲットとして追加のテクスチャに描画します。グローシェーダーでこのテクスチャを光らせ、最後にテクスチャをバックバッファにレンダリングします。つまり、緑色のリングは光っていて、他のリングはグローシェーダーの影響を受けません。

于 2012-11-09T10:12:07.827 に答える
0

輝く線が必要で、他の用途にグローシェーダーを使用しない場合は、次の図のように、「太い」線と適切なテクスチャで線を輝かせることができます。

方法

これは、他のアプローチよりも実装がはるかに簡単で、はるかに高速です:)

于 2012-12-30T18:21:41.233 に答える