-1

私はこの効果を達成しようとしています:

https://dl.dropboxusercontent.com/u/8554242/dmitri/projects/MotionBlurDemo/MotionBlurDemo.html

ただし、Three.js シーン、特にポイント クラウド マテリアル (パーティクル) または個々のパーティクルに適用する必要があります。

どんな助けでも大歓迎です!

4

1 に答える 1

0

「物理的に正しい」アプローチが必要な場合

  1. 画像のFIFOを作成しNます。
  2. 各シーンの再描画内 (一定の fps を想定)

    1. FIFOが既にいっぱいの場合は、最も古いイメージを破棄します
    2. 生のレンダリングされたシーン イメージをFIFOに入れる
    3. FIFO内のすべての画像を一緒にブレンドします

      大きなものがある場合はN、高速化するために、FIFO 内のすべての画像から累積ブレンド画像を保存することもできます。挿入された画像を追加し、画像を削除して減算します。ただし、ターゲット イメージには、結果を保持するのに十分なカラー ビットが必要です。このような場合、累積画像を で割ったものをレンダリングしますN

    4. ブレンドされた画像を画面にレンダリングする

一定のfpsの場合は、露光時間t=N/fpsです。一定のfpsがない場合は、可変サイズのFIFOを使用し、レンダリング時間を画像と共に保存する必要があります。FIFO内の画像のレンダリング時間の合計が露光時間を超えると、最も古い画像が破棄されます...

このアプローチには大量のメモリ (イメージFIFO ) が必要ですが、追加の処理は必要ありません。ほとんどのブラー エフェクトは、ジオメトリ シェーダー内またはCPUによって、パフォーマンスに影響を与え、時にはレンダリングが少し複雑な移動オブジェクトを異なる方法でブラーまたはレンダリングすることによって、これらすべてを偽造します。

于 2015-10-16T08:21:01.127 に答える