地面の座標情報 |
地面の道情報 |
地面の川情報 |
E3DLoadGroundBMP 地面ファイル, 道ファイル, 川ファイル, 模様ファイル, maxx, maxz, divx, divz, maxheight, hsid |
; ; 地面を作成する ; #include "e3dhsp.as" ;///////////////// ; 初期化 ; E3DInit ;///////////////// ; ; カメラの初期化 ; camposx = 0 : camposy = 2500 : camposz = 0 E3DSetCameraPos camposx, camposy, camposz ;カメラ座標を設定 targetx = 10 ;注視点座標 targety = camposy targetz = 10 upvecx = 0 ;カメラの上方向のベクトル upvecy = 1 upvecz = 0 E3DSetCameraTarget targetx, targety, targetz, upvecx, upvecy, upvecz ;カメラの注視点を設定 E3DSetProjection 100, 50000 ;///////////////// ; ; ライトの設定 ; E3DCreateLight lid1 ;光源を作成 lightdirx1 = 1 ;平行光の向き lightdiry1 = -1 lightdirz1 = 0 lightr1 = 255 ;平行光の色 lightg1 = 255 lightb1 = 255 E3DSetDirectionalLight lid1, lightdirx1, lightdiry1, lightdirz1, lightr1, lightg1, lightb1 ;光源を平行光源に設定 ;///////////////// ; ; 地面の作成 ; sdim pathbuf, 2048, 4 pathbuf.0 = curdir + "\\yama.bmp" ;地面の座標情報 pathbuf.1 = curdir + "\\michi.bmp" ;地面の道の情報 pathbuf.2 = curdir + "\\kawa.bmp" ;地面の川の情報 pathbuf.3 = curdir + "\\bazou.bmp" ;地面、道、川の模様を決める、BMPファイル ;地面作成用の値 mapsize = 60000 ;X,Z座標の最大値 mapdiv = 60 ;座標の分割数 mapheight = 3000 ;高さの最大値 E3DLoadGroundBMP pathbuf.0, pathbuf.1, pathbuf.2, pathbuf.3, mapsize, mapsize, mapdiv, mapdiv, mapheight, hsid0 ; posx0 = 0 : posy0 = 0 : posz0 = 0 ; degx0 = 0 : degy0 = 0 : degz0 = 0 ; E3DSetPos hsid0, posx0, posy0, posz0 地面表示位置を設定 ; E3DSetDir hsid0, degx0, degy0, degz0 地面の向きを設定 frameno0 = 0 ;モーションは使用しない。 ;///////////////// ; メインループ ; *main E3DChkInView hsid0 ;モデルが、視野内にあるか判定 E3DBeginScene ;-----シーンスタート ;バックバッファへの書き込み作業を行う stick key if key&128 : goto *bye E3DRender hsid0, 0, frameno0, 0 ;バックバッファにレンダリングする。(地面描画) E3DEndScene ;-----シーン終了 E3DPresent ;バックバッファの内容を、プライマリバッファに転送。描画する。 E3DWaitbyFPS 60 : await 0 goto *main ;///////////////// ; 終了処理 ; *bye E3DDestroyLight lid1 ;ライトを破棄 E3DBye end |