Chapter4. 拡張関数
4.6 3Dグラフィックス関数
関数名
G3@FRMSETCULL
機能
背面を向けるフェース(面)を描画させないように指定できる。
書式
G3@FRMSETCULL(
Frm ,
cull
)
《パラメーター》
Frm
int。指定フレーム(G3@FRMMAKE の戻り値)。
cull
int。描画の有無(初期値:−1、トップフレームは2)
−1:上位フレームを継承する
0:背面も描画する
1:頂点が視点から右回りに見える場合に描画しない
2:頂点が視点から左回りに見える場合に描画しない(デフォルト)
解説
物体の反対側は普通は見えないので、見えないものを描画する必要はありません。そこで背面を向いているフェースを描画しないようにすることができる。
背面を向いているフェースを表示させないとする場合、フェースのどちらの面が表側になるのかを決めなければならない。フェースの頂点が視点から見て時計回り(右回り)に設定されている場合を表とすると、裏面は逆時計回り(左回り)なので「左回りに切り抜く」を指定することで背面を向いているフェースを表示させない。
−1を指定するとG3@ADD関数で関連付けた上位フレームの設定を引き継ぐ。トップフレームにはー1を指定できない。
用例
頂点が視点から右回りに見える場合に描画しないようにする。
CH1 = G@SETUP( 640 , 480 , 24 , 1 ) G3@DEVSETCULL( 1 )