Chapter4. 拡張関数


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

関数名
G3@RENDER
機能
G3系関数で構築した3D情報をバックバッファ(裏画面:G@SETUPで生成したキャラクタ)に描画する。
書式
G3@RENDER( SN )
《パラメーター》
SN int。キャラクタを含むサーフェス番号
未指定時=0
解説
バックバッファに描画している事から分かると思うが、G@FLIPを実行することで画面に表示される。
G系関数で構築した2DとG3系関数で構築した3Dを合成して描画するには、G3@RENDERを実行する前後に2Dの描画を行えば良い。
2D画像を描画した後にG3@RENDERを実行すると、先に描画した2D画像の上に3Dが描画される事になり、さらにその後2D画像を描画すると先に描画した、2D画像と、3D画像の上に描画する事になる。
引数snを指定しない、又は0を指定するとプライマリ・サーフェスに描画する。G3@CHRMAKE等で生成したサーフェス番号を指定する事で当該サーフェスに描画を行う。
用例
"Cube.x"ファイルをフルスクリーンで描画する。
//画面設定
    CH1=G@SETUP( 640 , 480 , 16 , 1 ) 

    //アンビエント光源を配置 
    LT1=G3@LIGHTMAKE( 0 , 65536 , 65536 , 65536 ) 
    G3@ADD( 0 , LT1 ) 

    //物体を読み込み、配置 
    FP2=G3@FRMMAKE( ) //フレームを作成 
    G3@ADD( 0 , FP2 ) 

    MS1=G3@MESHLOAD( "CUBE.x" ) //"Cube.x"ファイルを読み込む 
    G3@ADD( FP2 , MS1 ) //フレームに"Cube.x"ファイルを登録 

    //描画 
    LOOP 
      G3@RENDER() //3D描画 
      G@FLIP() //画面切り替え 
    ENDLOOP