スムーズシェーディングは,多角形近似の3次元物体の表面に滑らかな濃淡づけをして描画する手法です.スムーズシェーディングを行うと,曲面を近似する多角形数を減少できます.
ここでは,多角形近似の3次元物体を用いた描画の様子を確認して,スムーズシェーディングによる3次元物体の描画について理解してください.
Main Windowでは,スムーズシェーディングされた3次元物体が描画される様子を確認します.また,視点を変更し,形状やシェーディング方法を選択します.
Light Position Controlでは,光源の位置を変更できます.
Material Controlでは,3次元物体の材質特性を変更できます.
Main Window
画面にはスムーズシェーディングされた3次元物体が描画される様子が表示されます.
・視点の変更
3次元物体をドラッグすると,視点が移動します.
・3次元物体の形状選択
Objectプルダウンメニューで3次元物体の形状を選択します.球体(Sphere),立方体(Cube),円錐(Cone),円柱(Cylinder)の4種類の形状データからいずれか1つを選択することができます.
・シェーディング方法の変更
Shading Methodプルダウンメニューでシェーディング方法を選択します.Flat Shading(フラットシェーディング),Gouraud Shading(スムーズシェーディングのグローシェーディング),Phong Shading(フォングシェーディング)の3種類のシェーディング方法からいずれか1つを選択することができます.
・初期状態への復帰
Resetボタンを押すと,選択されている形状データと視点が初期状態に戻ります.
Light Position Control
光源位置のθ:Theta(方位角),φ:Phi(仰角),R(距離)の値が表示されます.
・光源位置の変更
θ:Theta(方位角),φ:Phi(仰角),R(距離)の各スクロールバーをドラッグすると,光源の位置を変更できます.
・指定した光源位置での描画実行
Displayボタンを押すと,指定した光源位置を用いて描画が実行されます.
Material Control
3次元物体の材質特性のR(赤),G(緑),B(青),n(ハイライトのシャープさ)の値が表示されます.
・材質特性の変更
R(赤),G(緑),B(青),n(ハイライトのシャープさ)の各スクロールバーをドラッグすると,材質特性が変更されます.
・指定した材質特性の描画実行
Displayボタンを押すと,指定した材質特性を用いて描画が実行されます.
画面中央が原点で,原点から水平に右がX軸の正の方向,原点から垂直に上がY軸の正の方向,原点から画面手前がZ軸の正の方向を示します.
光源位置のR(距離)の単位は球体の半径の倍数です.
シェーディング方法としてFlat Shadingを選択すると,3次元物体の近似多角形の境界がはっきりします.
Gouraud Shading(グローシェーディング)は,曲面を近似している各多角形の頂点の輝度を求めておき,それをもとに補完して多角形内の輝度を求めるものです.3次元物体の表面がスムーズになりますが,物体の表面で乱反射し,面の中にハイライトがあってもそれが表示されません.
Phong Shading(フォンシェーディング)は,多角形の各頂点での法線ベクトルを補完することで多角形内の輝度を計算し,シェーディングを行います.グローシェーディングに比べて輝度が高く,ハイライトも比較的正しく計算できますが,計算が複雑になり処理時間を要します.