freemesh.hsp

sample\hgimg4\freemesh.hsp » Plain Format

#include "hgimg4.as"

title "HGIMG4 Test"

	;	自由な形状(Mesh)を表示する
	;
	;	gpboxと同様の立方体を作成します(24頂点・4角形6面)
	;	1つの頂点を( X,Y,Z, NX,NY,NZ, U,V )というグループで登録して、
	;	そのインデックスを組み合わせてポリゴン(3角形or4角形)を登録します
	;
	gpreset

	gptexmat id_texmat, "res/qbox.png"	; テクスチャマテリアルを作成

	gpmeshclear			; 登録をクリアする
	a=0.5				; サイズ

	;	座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
	gpmeshadd p1, -a, -a,  a,    0.0,  0.0,  1.0,   0.0, 0.0
	gpmeshadd p2,  a, -a,  a,    0.0,  0.0,  1.0,   1.0, 0.0
	gpmeshadd p3, -a,  a,  a,    0.0,  0.0,  1.0,   0.0, 1.0
	gpmeshadd p4,  a,  a,  a,    0.0,  0.0,  1.0,   1.0, 1.0
	;	ポリゴンの登録
	gpmeshpolygon p1,p2,p3,p4

	;	座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
	gpmeshadd p1, -a,  a,  a,    0.0,  1.0,  0.0,   0.0, 0.0
	gpmeshadd p2,  a,  a,  a,    0.0,  1.0,  0.0,   1.0, 0.0
	gpmeshadd p3, -a,  a, -a,    0.0,  1.0,  0.0,   0.0, 1.0
	gpmeshadd p4,  a,  a, -a,    0.0,  1.0,  0.0,   1.0, 1.0
	;	ポリゴンの登録
	gpmeshpolygon p1,p2,p3,p4

	;	座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
	gpmeshadd p1, -a,  a, -a,    0.0,  0.0, -1.0,   0.0, 0.0
	gpmeshadd p2,  a,  a, -a,    0.0,  0.0, -1.0,   1.0, 0.0
	gpmeshadd p3, -a, -a, -a,    0.0,  0.0, -1.0,   0.0, 1.0
	gpmeshadd p4,  a, -a, -a,    0.0,  0.0, -1.0,   1.0, 1.0
	;	ポリゴンの登録
	gpmeshpolygon p1,p2,p3,p4

	;	座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
	gpmeshadd p1, -a, -a, -a,    0.0, -1.0,  0.0,   0.0, 0.0
	gpmeshadd p2,  a, -a, -a,    0.0, -1.0,  0.0,   1.0, 0.0
	gpmeshadd p3, -a, -a,  a,    0.0, -1.0,  0.0,   0.0, 1.0
	gpmeshadd p4,  a, -a,  a,    0.0, -1.0,  0.0,   1.0, 1.0
	;	ポリゴンの登録
	gpmeshpolygon p1,p2,p3,p4

	;	座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
	gpmeshadd p1,  a, -a,  a,    1.0,  0.0,  0.0,   0.0, 0.0
	gpmeshadd p2,  a, -a, -a,    1.0,  0.0,  0.0,   1.0, 0.0
	gpmeshadd p3,  a,  a,  a,    1.0,  0.0,  0.0,   0.0, 1.0
	gpmeshadd p4,  a,  a, -a,    1.0,  0.0,  0.0,   1.0, 1.0
	;	ポリゴンの登録
	gpmeshpolygon p1,p2,p3,p4

	;	座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
	gpmeshadd p1, -a, -a, -a,   -1.0,  0.0,  0.0,   0.0, 0.0
	gpmeshadd p2, -a, -a,  a,   -1.0,  0.0,  0.0,   1.0, 0.0
	gpmeshadd p3, -a,  a, -a,   -1.0,  0.0,  0.0,   0.0, 1.0
	gpmeshadd p4, -a,  a,  a,   -1.0,  0.0,  0.0,   1.0, 1.0
	;	ポリゴンの登録
	gpmeshpolygon p1,p2,p3,p4

	gpmesh id_model,,id_texmat		; メッシュノードを追加
	setpos id_model,0,5,0
	setangr id_model,50,50
	gppbind id_model, 1, GPPBIND_MESH	; メッシュ形状を物理設定する

	gpfloor id_floor, 40,40, $008080	; 床ノードを追加
	gppbind id_floor, 0

	setpos GPOBJ_CAMERA, 0,2,10		; カメラ位置を設定
	gplookat GPOBJ_CAMERA, 0,0,0		; カメラから指定した座標を見る

repeat
	redraw 0			; 描画開始
	rgbcolor $00ccdd:boxf		; 背景をクリア
	gpdraw				; シーンの描画

	color 255,255,255
	pos 8,8:mes "HGIMG4 sample"

	redraw 1			; 描画終了
	await 1000/60			; 待ち時間

loop