立体の色設定
ここでは、立体の色設定を扱います。
モデルの色設定
モデルの色を変更するには、 setModelColor 関数を使用します。
- 関数の形式 -
int modelID,
int red, int green, int blue, int alpha
)
引数は以下の通りです:
- modelID: 設定対象のモデルのIDを指定します。
- red, green, blue, alpha: モデルの色成分を指定します。色成分はそれぞれ 0〜255 の範囲で指定します。色成分の形式は、RGBA形式(後述)をサポートしています。
ポリゴンの色設定
ポリゴンの色を変更するには、 setPolygonColor 関数を使用します。
- 関数の形式 -
int polygonID,
int red, int green, int blue, int alpha
)
引数は以下の通りです:
- polygonID: 設定対象のポリゴンのIDを指定します。
- red, green, blue, alpha: モデルの色成分を指定します。色成分はそれぞれ 0〜255 の範囲で指定します。色成分の形式は、RGBA形式(後述)をサポートしています。
RGBA形式とは
RGBA形式とは、色の三原色である赤(Red)、緑(Green)、青(Blue)の色成分に、アルファ成分(Alpha)を加えた形式です。アルファ成分は色の透明度(不透明度)を表すもので、0で完全透明になり、最大にすると不透明になります。
赤, 緑, 青それぞれの色成分の間における色の合成は、加法混色によって行われます。これは光の重ね合わせと同じ混色方式であり、絵の具の混ぜ合わせ(減法混色)とは異なる事にご注意ください。

典型的な混色の例として:
- (赤,緑,青) = ( 255, 255, 255 ) は、黒ではなく白になります。
- (赤,緑,青) = ( 255, 255, 0 ) は黄色になります。
- (赤,緑,青) = ( 0, 255, 255 ) は鮮やかな水色(シアン)になります。
- (赤,緑,青) = ( 255, 0, 255 ) は、ピンクに近い紫色(マゼンタ)になります。
プログラム例
実際に球モデルを配置し、青色に設定してみましょう。 以下のように記述し、実行してみてください。
import graphics3d.Graphics3DFramework;
import Graphics3D;
// プログラムの最初に呼び出される関数
void onStart ( int rendererID ) {
// 画面サイズや背景色の設定(省略可能)
setWindowSize( 800, 600 );
setBackgroundColor( 0, 0, 0, 255 );
// 球モデルを生成して配置
int sphere = newSphereModel( 1.0, 1.0, 1.0, 10, 7 );
mountModel( sphere, rendererID );
// 球モデルを青色に設定
setModelColor( sphere, 0, 0, 255, 255 );
}
Sample.vcssl
このプログラムを実行すると、黒い背景に青い球が描画されます。
