次の方法で共有


モーション ブラー (Direct3D 9)

オブジェクトをぼかし、オブジェクトイメージのぼやけた軌跡をオブジェクトの背後に残すことで、3Dシーン内のオブジェクトの認識速度を向上させることができます。 Direct3D アプリケーションでは、フレームごとにオブジェクトを複数回レンダリングすることでこれを実現します。

Direct3D アプリケーションでは通常、シーンが画面外バッファーにレンダリングされることを思い出してください。 アプリケーションが IDirect3DDevice9::P resent メソッドを呼び出すと、バッファーの内容が画面に表示されます。 Direct3D アプリケーションは、フレームを画面に表示する前に、オブジェクトをシーンに複数回レンダリングできます。

プログラムによって、アプリケーションは DrawPrimitive メソッドを複数回呼び出し、同じ 3D オブジェクトを繰り返し渡します。 各呼び出しの前に、オブジェクトの位置が少し更新され、ターゲット レンダリング サーフェイスに一連のぼやけたオブジェクト イメージが生成されます。 オブジェクトに 1 つ以上のテクスチャがある場合、すべてのテクスチャをほぼ透明にしてオブジェクトの最初のイメージをレンダリングすることで、モーション ブラー効果を高めることができます。 オブジェクトがレンダリングされるたびに、オブジェクトのテクスチャの透明度が低下します。 アプリケーションは、オブジェクトを最終的な位置にレンダリングするときに、透明度なしでオブジェクトのテクスチャをレンダリングする必要があります。 ただし、テクスチャの透明度を必要とする別の効果にモーション ブラーを追加する場合は例外です。 いずれの場合も、フレーム内のオブジェクトの初期イメージが最も透明である必要があります。 最終的なイメージは最も透明なイメージである必要があります。

アプリケーションは、一連のオブジェクト イメージをターゲット レンダリング サーフェイスにレンダリングし、シーンの残りの部分をレンダリングした後、IDirect3DDevice9::P resent メソッドを呼び出して、フレームを画面に表示する必要があります。

アプリケーションでユーザーがシーン内を高速で移動する効果をシミュレートしている場合は、シーン全体にモーション ブラーを追加できます。 この場合、アプリケーションはフレームごとにシーン全体を複数回レンダリングします。 シーンがレンダリングされるたびに、アプリケーションは視点を少し移動する必要があります。 シーンが非常に複雑な場合は、フレームあたりのシーン レンダリングの数が増えるため、アクセラレーションが増加すると、ユーザーは目に見えるパフォーマンスの低下を見る可能性があります。

アンチエイリアシング