Chapter4. 拡張関数


4.6 3Dグラフィックス関数

関数名
G3@MESHSETCOLORA
機能
メッシュの色及び透明度を変更する。
書式
G3@MESHSETCOLORA(Mesh,red,green,bkue,alpha )
《パラメーター》
Meshint。指定メッシュ。
redfloat。メッシュの赤色の量。-1.0〜1.0。
greenfloat。メッシュの緑色の量。-1.0〜1.0。
bluefloat。メッシュの青色の量。-1.0〜1.0。
alphafloat。メッシュの透明度。-1.0〜1.0(透明〜不透明)。
解説
本機能はハードウェアの性能に強く依存するため、必ずしも透明化するわけではなく、メッシュ手法という技術でごまかしているものもある。光の三原色の明るさを変えることであらゆる色の光源を使用できる。各色共に通常は0(最低)〜1.0(最高)を指定するが、1.0よりも大きな値を指定することで極端に明るい光源を使用できる。逆にマイナスの値を指定することで光を吸収する暗色光を使用することも出来る。
alphaで透明度を設定できますが、G3@MESHSETで以下のような設定をする必要があります。
G3@MESHSET( MS , LG3_SRCBLEND , LG3_BLEND_SRCCOLOR )
G3@MESHSET( MS , LG3_DESTBLEND , LG3_BLEND_INVSRCCOLOR )
用例
メッシュ「MS」を、水色(赤=0、緑=1.0、青=0.5、透明度=50%)に変更する。
MS = G3@MESHMAKE( )
G3@VERTEXADD( MS , 1.0, 1.0,-1.0 )
G3@VERTEXADD( MS ,-1.0, 1.0,-1.0 )
G3@VERTEXADD( MS ,-1.0, 1.0, 1.0 )
G3@FACEADD3( MS , 0 , 1 , 2 )
G3@MESHSETCOLORA( MS , 0 , 1.0 , 0.5 , 0.5 )