[[cg:start|CG用語集トップ]] > [[cg:rendering:start|第3章 レンダリング]] ====== シェーディング ====== ===== 概要 ===== シェーディングは、光源、面の向き、材質などをもとに、物体表面の明るさや色を計算する処理である。影付けと関連するが、表面の陰影計算そのものを指す。 {{:cg:figures:chapter03:fig_3_9_shadow_and_shade.png?600|陰と影}} {{:cg:figures:chapter03:fig_3_10_reflection_components.png?600|反射光の成分}} ===== 詳しい説明 ===== 3Dモデルの形だけを描いても、立体感は十分に伝わらない。シェーディングでは、表面が光源に対してどの向きを向いているか、材質がどのように光を反射するかを使って、面の明るさを決める。[[cg:rendering:ambient_light|環境光]]、[[cg:rendering:diffuse_reflection|拡散反射]]、[[cg:rendering:specular_reflection|鏡面反射]]などを組み合わせることで、物体が丸く見えたり、ハイライトが出たりする。[[cg:rendering:shadowing|影付け]]は光が遮られてできる影の処理であり、シェーディングとは役割を分けて考える。 ===== CG制作との関係 ===== CG制作では、立体感や質感を作る中心的な処理である。シェーディングが適切でないと、形状は正しくても平面的に見えたり、材質が不自然に見えたりする。 ===== ゲーム開発との関係 ===== ゲーム開発では、頂点シェーダやピクセルシェーダでシェーディング計算を行う。リアルタイム処理では、見た目の品質と計算負荷のバランスを取りながらモデルを選ぶ。 ===== 制作・実装での例 ===== シェーダプログラムでは、法線、光源方向、視線方向、材質パラメータを使って色を計算する。DirectXやOpenGLの授業では、拡散反射や鏡面反射の式として実装されることが多い。 ===== 検定対策ポイント ===== シェーディングは表面の明るさを計算する処理である。[[cg:rendering:shadowing|影付け]]は光が遮られてできる影の表現なので、両者を混同しない。 ===== 関連用語 ===== * [[cg:rendering:shading_model|シェーディングモデル]] * [[cg:rendering:shadowing|影付け]] * [[cg:rendering:ambient_light|環境光]] * [[cg:rendering:diffuse_reflection|拡散反射]] * [[cg:rendering:specular_reflection|鏡面反射]] ===== タグ ===== * CGエンジニア検定 * 第3章 ---- [[cg:rendering:start|← 第3章 レンダリング の目次に戻る]] [[cg:start|← CG用語集トップに戻る]]