CH = G@SETUP( 640 , 480 , 16 , 1 )
MS = G3@MESHMAKE()
FS1 = G3@VERTEXADD( MS , 0 , 1.0 , 2.0 )
FS2 = G3@VERTEXADD( MS , 1.0 , -1.0 , 2.0 )
FS3 = G3@VERTEXADD( MS , -1.0 , -1.0 , 2.0 )
G3@FACEADD3( MS , FS1 , FS2 , FS3 )
三角形のメッシュが出来上がったので、早速画面に配置しましょう。
配置は G3@ADD 関数で行います。
G3@ADD( MS , 0 )
G3@ADD 関数は 1番目の引数に指定したものを、2番目に指定した引数に登録すると言うものです。1番目の引数は
MS変数なのでメッシュを表していることが分かると思います。問題は 2番目の引数ですが、これはフレームを表します。後で詳しく説目しますが、フレームは一つではなく複数のフレームを持つことが出来ます。その中で
0(ゼロ:以後「トップフレーム」)は スタジオ と同等の意味をもつものです。トップフレームに配置するということはスタジオ自身に直接直置きで配置すると言うことになります。フレームの詳細は後ほど書くので、今はあまり気にしないで下さい。
『明るさの設定』
メッシュを作ってフレームに配置したので後は描画するだけといきたいところですが、もう1段階やることがあります。それはフレーム(スタジオ)に光源(明るさ)を与えてあげる事です。
これは光源が無いと画面が真っ暗な状態となるため、メッシュを配置しても何も見えないからです。LGPの光源は大きく2種類に分類されます。アンビエント光源とその他の光源です。その他の光源とは、懐中電灯の光のように光の位置や光の方向を持つものです。これに対してアンビエント光源は、光の方向や位置に関係なくフレーム全体を照らす光で環境光といわれるものです。例えば、家の日影などのように直接光源で照らされているわけではないのに、弱いが明るさがあり周りを認識できる場所の明るさを言います。今回はアンビエント光源を使用してみます。
アンビエント光源は、フレームに対して指定するものです。光源には色(光の三原色:RGB)を付ける事が出来ますが、今回は白色の光を使用してみます。指定は
G3@FRMSETAMBIENT 関数で行います。
G3@FRMSETAMBIENT( FM , 65535 , 65535 , 65535 )
LOOP
G3@RENDER()
G@FLIP()
ENDLOOP
CH = G@SETUP( 640 , 480 , 16 , 1 )
MS = G3@MESHMAKE()
FS1 = G3@VERTEXADD( MS , 0 , 1.0 , 2.0 )
FS2 = G3@VERTEXADD( MS , 1.0 , -1.0 , 2.0 )
FS3 = G3@VERTEXADD( MS , -1.0 , -1.0 , 2.0 )
G3@FACEADD3( MS , FS1 , FS2 , FS3 )
G3@ADD( MS , 0 )
G3@FRMSETAMBIENT( FM , 65535 , 65535 , 65535 )
LOOP
G3@RENDER()
G@FLIP()
ENDLOOP