Chapter4. 拡張関数


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

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