0

オブジェクトの z 座標 (画面に入る座標) に従って、3D シーン内のオブジェクトをぼかしたいと考えています。z=5 の場合、ぼかしの量 = 0、z = 10 の場合、ぼかし = 50、z = -30 の場合、ぼかし = 40 とします。これは、すべてのオブジェクトに対して発生する必要があります。

  1. これどうやってするの?
  2. これを実装するには、directx 9.0c 以降を使用する必要がありますか (シェーダーのため)?

Z バッファーを使用しますか? 私はDirectXに少し慣れていません。

4

1 に答える 1

1

それは被写界深度と呼ばれています。ここにいくつかの良い読み物があります。はい、シェーダーが必要です。

シンプルな DOF を実現するには、シーンを 2 回レンダリングします。

  1. テクスチャの半分までレンダリングします (中央でフロント カリング、シーンの最後でバック カリング)。

  2. このテクスチャでクワッドをレンダリングします(単純なシェーダでぼかします)。

  3. 前半分を上にレンダリングします (シーンの中央でバックカリングを使用)

于 2012-11-21T07:19:18.510 に答える