描いた線に光る効果を追加するにはどうすればよいですか? Linux用のOpenGLを使用しています。
Neheレッスン36 で説明されているラジアルブラー効果を実装できます。主なアイデアは、図面をテクスチャにレンダリングし、各レンダリングの後に、図面をフレームバッファにコピーする準備ができるまで、小さなオフセットでN回実行することです。
QtとOpenGL を使用する小さなデモを作成しました。以下に元の図面(ぼかしなし)を示します。
次の画像は、ぼかしを使用した描画効果をオンにしたものを示しています。
それほど多くないことは知っていますが、それは始まりです。
私もかつてこれに対する非常に簡単な解決策があることを望んでいましたが、残念ながら、少なくとも初心者にとっては少し複雑です。
API(D3D、OpenGL)に関係なく、今日のグローイングエフェクトの実装方法は、ピクセル/フラグメントシェーダーを使用する方法です。これには通常、シーンをレンダリングする複数のレンダリングパスが含まれ、次に「光るオブジェクト」のみが表示されるパスをレンダリングし、ブルームピクセルシェーダーを適用してそれらを一緒に構成します。
詳細については、@ Valmondが提供するリンクを参照してください
編集:
これは、法線、位置、および「グローフラグ」などの他の情報がテクスチャにレンダリングされる、つまりテクスチャのさまざまなコンポーネントに格納される遅延レンダリングで実現できることを追加する必要があります。次に、シェーダーはテクスチャから読み取り、必要なすべてのデータがレンダリングされたテクスチャから利用できるため、1回のパスで稲妻の計算と後処理効果を実行します。
これをチェックしてください: http://developer.download.nvidia.com/books/HTML/gpugems/gpugems_ch21.html
グロー効果の作り方を簡単に説明しています。
シェーダーを使用せずに、テクスチャにレンダリングして放射状にぼかしを行うこともできます。出発点としてチェックアウト NeHe-Tutorials 。