Loading AI tools
ウィキペディアから
シェーディング(英: shading)は、3次元コンピュータグラフィックスやイラストレーションなどで明暗のコントラストで立体感を与える技法である。絵画では陰影画法と呼ぶ。単に立体に影を付ける、付影処理 (シャドーイング、英: shadowing) とは異なる。
紙上に絵を描く際のシェーディング(陰影画法)とは、暗い部分にはより濃く画材を使用し、明るい部分には軽く画材を使用することで、立体的に描く手法である。シェーディング技法には、直角に交わる線を間隔を変えながら多数描いて影を表すクロスハッチングなどがある。線の間隔が狭い部分は影が濃い部分となる。同様に線の間隔が広い部分は明るい部分となる。
対象物への光の当たり方を考慮してシェーディングを施すことで、紙上に奥行きがあるかのように感じられる絵を描くことができる。
コンピュータグラフィックスにおけるシェーディング(英: shading)は、光の角度と光源からの距離を考慮して色を変化させ、実写のような効果を得る処理である。レンダリング処理の一部である。
シェーディングでは光の振る舞いをシミュレートする(ライティング、英: lighting)。そのために光の発生源である光源が設定される。 光源はその面積・指向性・減衰・色などから以下のように分類できる:
シェーディングは、これら光源とオブジェクトの表面の角度に基づいた内挿である。もちろん、1つのシーンに複数の光源を設定することができ、実際そのように制作することが多い。レンダラーは複数の光源からの光線の合成を内挿し、それにしたがって2次元の画像を生成する。
理論的には、平行な2つの面があったとき、太陽光線のような遠距離の光源からの光の照度は等しい。たとえ一方の面がずっと離れていても照度は一定である。
下の図では、2つの直方体を異なる光源で照らしたときのシェーディングを示している。左の画像ではどちらの直方体も正面の面は同じ色になっている。右の画像では前の直方体の正面の方が若干明るい。また、床が近い部分ほど明るくなっている。右の画像の光源は光源からの距離が遠いほど光線が減衰する設定になっている。これを「距離減衰 (distance falloffあるいはdistance attenuation)」と呼び、光源を増やすことなく、より写実的な画像が得られる。
距離減衰の計算方法はいくつかある。
光源から物体方向へ進む光は物体表面で反射(鏡面反射)・散乱(拡散反射(透過・屈折))・吸収され、その光がカメラへ到達することで物体は描画される。物理的忠実度と計算負荷を考慮した様々な物体表面の反射モデルが存在する。以下はその一例である:
各反射モデルは固有のパラメータをもつ。例えばPhongモデルは拡散反射と鏡面反射の強さを制御するパラメータをもつ。実際のレンダリングエンジンではこれを直感的に理解できるよう、物体の「材質 / マテリアル」という形でアーティストに見せる場合が多い。
具体的な採用例としては、Unity URP Simple Lit シェーダーは Blinn-Phong モデルを採用している[1]。URP Lit シェーダーはBRDF系のモデルを採用している。
3次元コンピュータグラフィックスではポリゴンモデルが主に利用されるため、曲面は平面の連続で近似的に表現される。この結果、単純にシェーディングをおこなうと面ごとに陰影の強さが変わり近似していることが目立ってしまう。そのため様々な補間手法が提案されている。以下はその一例である:
フラットシェーディング(英: Flat shading)は面を面としてシェーディングする手法である。すなわち補間をおこなわないシェーディングである。
オブジェクトを構成するポリゴンの法線ベクトルと光源の方向との角度に基づいて面単位でのシェーディングを施す。色はそのポリゴン(面)を照らす光の強さにしたがって決定される。
リアルタイム処理系など、高速なレンダリングが必要で、より高度なシェーディング技法が使えない場合に利用される。しかしグラフィックスチップ上でのハードウェアT&Lおよびプログラマブルシェーダーが一般化して以降は、すでにローエンド品やモバイル向けであっても非常に高速に滑らかなリアルタイムシェーディングが可能であり、性能的な理由でフラットシェーディングを使うことは少なくなっている。
フラットシェーディングの欠点は、滑らかな曲面を表現したい場合でも小さな平面が並んでいるような見た目になる点である。滑らかさを得るにはポリゴン数を上げるしかないが、これは利点である軽量さを犠牲にする。
逆に角ばった物体を描きたいなら、そのような見た目が好ましい場合もある。ソリッドモデル製作中はフラットシェーディングの方が形状が見やすいので、よく利用される。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.