多角形(ポリゴン)のシェーディングモデルは、Shade Model関数を使って設定します。
Shade Model(mode)
modeには、SMOOTH(デフォルト)またはFLATを指定できます。SMOOTHシェーディングは、頂点間で基本要素の色が滑らかになるように中間色を補間します。FLATモードは、1つの頂点の色を基本要素全体に適用します。
次のスクリプトは、三角形の各頂点で色を変更します。SMOOTHシェーディングモデルは、内部の色を自動的に補間します。
scene = Scene Box( 200, 200 ); // OpenGLシーンを保持するScene Boxを作成する
New Window( "シェーディングモデル", scene ); // シーンをウィンドウに配置する
scene << Clear;
scene << Ortho2D( -1, 1, -1, 1 );
scene << Shade Model( SMOOTH );
scene << Polygon Mode( FRONT_AND_BACK, FILL );
scene << Begin( TRIANGLES );
scene << Color( 0, 0, 0 ); // 黒
scene << Vertex( -1, -1, 0 );
scene << Color( 0, 1, 1 ); // シアン
scene << Vertex( 0, 1, 0 );
scene << Color( 1, 1, 1 ); // 白
scene << Vertex( 1, -1, 0 );
scene << End();
scene << Update;
図13.17 シェーディング