シェーディング
モデルに影を付ける手法をシェーディングといいます。MascotCapsule V3では、グーローシェーディングと、トゥーンシェーディングの2種類のシェーディングが用意されています
目次
1. グーローシェーディング( Gouraud Shading )
グーローシェーディングは、オブジェクトの各頂点の法線ベクトルを求め、頂点間を三角形の面上にわたって補間する方法です。ピクセル間の継ぎ目が目立たなくなり、滑らかなシェーディングができます。

グーローシェーディング
2. トゥーンシェーディング( Toon Shading )
トゥーンシェーディングは、境界のはっきりした影をつける方法です。トゥーンシェーディングを用いると、アニメのセル画のような影付け効果を得ることができます。

トゥーンシェーディング
3.シェーディングのサンプルコード
ここではサンプルコード内のシェーディングの設定をする関数setShadingについて説明します。このサンプルでは、決定ボタンを押す度に影なし・グーローシェーディング・トゥーンシェーディングが切り替わります。
シェーディングの設定は、Render_setAttribute( Render *render, hi_sint32 attribute ) によって設定します。この関数のattributeの値に、グーローシェーディングの場合はM3D_LIGHTING、トゥーンシェーディングの場合はM3D_LIGHTINGとM3D_TOON_SHADINGの2つを論理和として設定してください。
トゥーンシェーディングの場合はさらにRender_setToonParam( Render *render, hi_sint32 threshold, hi_sint32 high, hi_sint32 low ) を設定します。thresholdはトゥーンシェードのしきい値、highはレベルがしきい値より大きなときの強さ、lowはレベルがしきい値より小さなときの強さで、high、lowは0~255の値を設定します。
{
switch( shade ){
/* No Shading */
case 0:
case 1:
attribue_mask |= M3D_TOON_SHADING;
OEMC_Micro3D_Render_setToonParam
case 2:
break;
OEMC_Micro3D_Render_setAttribute( &render, attribue_mask );
}

