Skip to main content

セルフシェードとは何ですか?

セルフシェードは、オブジェクトの一部がそれ自体に影を落とす状況を説明する用語です。セルフシェードの例には、光源が上から来るときの顔または上唇の人間の鼻によってキャストされた影、または椅子の脚の椅子の座席でキャストされる影が含まれます。この用語がコンピューターグラフィックス&mdashで使用されている場合;具体的には、コンピューターグラフィックプログラミング—これは、それ自体に3次元(3D)オブジェクトのシーンによってキャストされる影、または自分自身と周囲のオブジェクトにダイナミックオブジェクトによってキャストされる影への参照です。リアルタイムの3Dコンピューターグラフィックプログラミングの性質により、多くのアプリケーションが他の最適化を支持してセルフシェードをレンダリングする可能性を排除することが多い技術を使用しますが、コンピューターの速度と機能が増加するにつれて、リアルタイムのセルフシャドー方法よりアクセスしやすくなりました。リアルタイムのセルフシェードオブジェクトをレンダリングする方法はいくつかありますが、ハードウェアの制限は通常、不正確な影、人工的に硬いエッジを持つ影、または信じられないほど速くないグラフィックカードで非常にゆっくりとレンダリングされるシーンなど、いくつかの欠点を持つ結果を生成します。。

自己影について話すときに行うべき区別の1つは、リアルタイムグラフィックスの静的オブジェクトと動的オブジェクトの違いです。静的オブジェクトは、移動せず、レンダリングの過程でジオメトリの一部が変更されていないシーン内の3Dオブジェクトです。一方、動的オブジェクトは、シーンに直接接続されていないオブジェクトであり、フレームごとに異なる場合があります。ほとんどの場合、ほとんどの静的オブジェクトと非リアルタイムシーンは、レンダリングエンジンまたは使用できる他のグラフィックストリックのためにセルフシェードを行います。グラフィックスは、動的なセルフシェードの実装を困難にします。いくつかの例には、照明効果のみを静的な背景に適用するグラフィックエンジンが含まれます。シーン内の文字などの動的なオブジェクトや、内部ジオメトリを認識しないシルエットとしてのみオブジェクトを扱うエンジンを無視します。グラフィックプロセッサとコンピューターの増加により、新しいテクニックにより、セルフシェードされたオブジェクトがリアルタイムシーンに表示され、いくつかの制限とトレードオフが可能になります。この方法は、基本的に、影が鋳造されるシーンで密閉されたボリュームを占める3Dオブジェクトを作成し、レンダラーまたはシェーダーが、どのように点灯しているかを決定するために、どのポイントが影のボリューム内にあるかをテストすることができます。他の方法は、必ずしもエッジの忠実度に従うとは限らない非常に拡散した影を作成するために、シャドウマップ、または頂点の位置からの近似シャドウを作成します。。品質の問題は、いくつかのセルフシャドウを間違っている、または場違いに見えるかもしれない高速ではあるが低解像度またはファジーなテクニックを使用することで発生する可能性があります。速度の問題は、使用されているアルゴリズムがフレームごとにあまりにも多くのオーバーヘッドを必要とする場合、またはシャドウ投影を正確に計算しようとする場合に発生します。単一の標準的なセルフシェードを生成するアルゴリズムはありませんが、一部のグラフィックカードには、いくつかのテクニックの速度を高めることができるさまざまな方法のネイティブアクセラレーションが含まれています。