Chapter4. 拡張関数


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

関数名
G3@VERTEXSETCOLORA
機能
頂点の色を透明度付で指定する。
書式
G3@VERTEXSETCOLORA(Mesh,FNum,red,green,bluealpha)
《パラメーター》
Meshint。頂点を含んでいるメッシュを指定する。
FNumint。頂点の番号を指定する。
redfloat。頂点の赤の量(0〜1.0)。
greenfloat。頂点の緑の量(0〜1.0)。
bluefloat。頂点の青の量(0〜1.0)。
alpha float。頂点の透明の量(0〜1.0)。数値が小さいほど透明度は増す
解説
光の三原色の明るさを変えることであらゆる色の光源を使用できる。各色共に0(最低)〜1.0(最高)を指定する。
本設定を効にするにはG3@DEVSETQUALITY関数で光源モードをOFF(ライトを使用しない)にする必要があります。
また、G3@FRMSETMATERIALMODEで頂点からマテリアル情報をソースにする必要があります。
用例
メッシュ「MS」内の3頂点をそれぞれ赤色、青色、緑色、半透明にする。
CH = G@SETUP( 640, 480, 32, 1 )
G3@DEVSETBACKCOLOR( 0, 0.2, 0.5 )
G3@DEVSETQUALITY( 1, 0, 2 )
G3@FRMSETMATERIALMODE( 0, 3 )

MS = G3@MESHMAKE()
FS1 = G3@VERTEXADD( MS,    0,  1.0, 4.0 )
FS2 = G3@VERTEXADD( MS,  1.0, -1.0, 4.0 )
FS3 = G3@VERTEXADD( MS, -1.0, -1.0, 4.0 )
G3@VERTEXSETCOLORA( MS, FS1, 1.0, 0.0, 0.0 , 0.5 )
G3@VERTEXSETCOLORA( MS, FS2, 0.0, 1.0, 0.0 , 0.5 )
G3@VERTEXSETCOLORA( MS, FS3, 0.0, 0.0, 1.0 , 0.5 )

G3@FACEADD3( MS, FS1, FS2, FS3 )
G3@ADD( MS, 0 )

LOOP
 G3@RENDER()
 G@FLIP()
ENDLOOP