------------------------------------------------------------------------------
HGIMG4 REFERENCE MANUAL                High Performance Graphic Image Plugin  
grog^Ct@X      copyright 2001-2013 (c) onion software  
------------------------------------------------------------------------------

E͂߂

	HGIMG4́AHot Soup Processor ver3.4ȍ~ƂƂɎgp邱ƂŁA
	ʂ̕`ɊւlXȋ@\g񋟂܂B

	HGIMG4̓

	EOpenGL/ESɂ`AVF[_[T|[g
	EV[ǗƓꂽGW(Bullet)T|[g
	EFBX`̃ft@Cǂݍ݁AAj[VT|[g
	E}`eNX`Aobv}bvAnCg}bvALODT|[g
	EtHgf[^(TTF)̃_OT|[g
	EItXN[_Oyъe|XgGtFNgT|[g
	EWindowsłȂiOS,Androidł̓T|[g\
	EHSPyHSP3DishƓl̃CZXKAI[v\[X 

	HGIMG4́AWindows2000ȍ~ŁAOpenGLo[W3.1ȏオCXg[ꂽœ삵܂B


ECXg[

	HGIMG4́Aȉ̂悤ȃt@C\ɂȂĂ܂B

		hsp3gp.exe (sp^C)

		docs/hgimg4.txt (̃t@C)
		commontH_ (HGIMG4wb_t@C)
		hsphelptH_ (HGIMG4wvt@C)
		runtimetH_ (HGIMG4JX^^C)
		sampletH_ (HGIMG4TvXNvg & f[^)

	HGIMG4gpXNvg쐬ꍇɂ́AXNvg̐擪
	Ku#include "hgimg4.as"vƂsǉĂB
	ȏŁAHSP̋@\gÃt@XŐĂ閽߂
	gp邱Ƃł悤ɂȂ܂B
	܂ŏɁAt̃TvXNvgsĂ݂ĂB
	gꂽ@\̊ȒPȎgp邱Ƃł͂łB
	TvXNvǵAHSPCXg[tH_ȉsample/hgimg4
	ɗpӂĂ܂B


Eӓ_

	HGIMG4́AODLLt@CɂgvOCł͂܂B
	HSP3DISH̋@\^Ct@CƂĒ񋟂Ă܂B
	KAHGIMG4̃^CɑΉo[W̃RpC
	(hspcmp.dll)XNvgGfB^gpB
	܂AHSP3͎s^CɑΉR[hWFl[^[(hspcmp.dll)
	gpB(HSP3.4ȏ𐄏)


E߈ꗗ(C)

	setcls mode,color,tex				ʏݒ
	gpviewport x,y,sx,sy				r[|[gݒ
	setborder sx,sy,sz,option			IuWFNgL͈͐ݒ

	gpreset	option					V[`
	gppostefx  postid,opt1,opt2			|XgGtFNg
	gpuselight objid				CgIuWFNg̐؂ւ
	gpusecamera objid				JIuWFNg̐؂ւ
	gpusescene sceneid				V[̐؂ւ

	gpobjpool start,num				IuWFNgID̐ݒ
	delobj objid					IuWFNg̔j
	gpsetprm objid,prmid,value			IuWFNg̃RAp[^[ݒ
	gpgetprm var,objid,prmid			IuWFNg̃RAp[^[擾
	setobjname objid,"name"				IuWFNg̃m[hݒ肷
	getobjname var,objid				IuWFNg̃m[h擾
	setobjmode id,mode,sw				IuWFNg̃[hݒ
	setcoli id,mygroup,enegroup			IuWFNg̃RWݒ
	getcoli val,id,distance				IuWFNg̃RW
	findobj exmode,group				IuWFNg
	nextobj val					̃IuWFNg

	gpcolormat var,color,opt			J[}eA̐
	gptexmat var,"file",opt				eNX`}eA̐
	gpusermat var,"vsh","fsh","defs",color,opt	JX^}eA̐
	gpmatprm objid,"name",x,y,z			}eÃp[^[ݒ
	gpmatprm objid,"name",value			}eÃp[^[ݒ(2)
	gpmatprm objid,"name",x,y,z,w			}eÃp[^[ݒ(3)
	gpmatstate objid,"name","value"			}eÃXe[gݒ

	gpbox var,size,color,matobj			m[h𐶐
	gpfloor var,sizex,sizey,color,matobj		m[h𐶐
	gpplate var,sizex,sizey,color,matobj		m[h𐶐
	gpload var,"file","name"			3Dfm[h𐶐
	gpspr var,bufid,celid,gmode			2DXvCgm[h
	gpnull var					km[h𐶐

	gplight id,opt,range,inner,outer		Cgm[hݒ
	gpcamera id,fov,aspect,near,far			Jm[hݒ

	gpclone var,objid				m[h𕡐
	setobjmode objid,value,mode			IuWFNg̃[hݒ
	setalpha objid,value				IuWFNg̓x(l)ݒ
	gplookat objid,x,y,z				wWɌăm[h]

	gppbind objid,mass,friction			m[hɕWIȕݒ
	gppset objid,prmid,x,y,z			m[h̕p[^[ݒ
	gppapply objid,action,x,y,z			m[hɕIȗ͂Kp

	celputm vxpos,vypos,vcelid,bufid,count		Z܂Ƃ߂ĕ`悷
	gpdraw option					V[̑SIuWFNg`悷


E߈ꗗ(IuWFNg)

	getpos id,x,y,z					m[hW擾
	setpos id,x,y,z					m[hWݒ
	addpos id,x,y,z					m[hWZ
	getposi id,x,y,z				m[hW擾(l)

	setang id,x,y,z					m[h]ݒ
	setangr id,x,y,z				m[h]ݒ(l)
	addang id,x,y,z					m[h]Z
	addangr id,x,y,z				m[h]Z(l)

	getscale id,x,y,z				m[h{擾
	setscale id,x,y,z				m[h{ݒ
	addscale id,x,y,z				m[h{Z
	getscalei id,x,y,z				m[h{擾(l)

	getdir id,x,y,z					m[hړʂ擾
	setdir id,x,y,z					m[hړʂݒ
	adddir id,x,y,z					m[hړʂZ
	getdiri id,x,y,z				m[hړʂ擾(l)

	getwork id,x,y,z				m[h[Nl擾
	setwork id,x,y,z				m[h[Nlݒ
	addwork id,x,y,z				m[h[NlZ
	getworki id,x,y,z				m[h[Nl擾(l)

	getwork2 id,x,y,z				m[h[Nl2擾
	setwork2 id,x,y,z				m[h[Nl2ݒ
	addwork2 id,x,y,z				m[h[Nl2Z
	getwork2i id,x,y,z				m[h[Nl2擾(l)

	getcolor id,x,y,z				m[hRGBJ[擾
	setcolor id,x,y,z				m[hRGBJ[ݒ
	addcolor id,x,y,z				m[hRGBJ[Z
	getcolori id,x,y,z				m[hRGBJ[擾(l)


E߈ꗗ(⏕)

	selpos id					ړWMOCɐݒ
	selang id					]pxMOCɐݒ
	selscale id					XP[MOCɐݒ
	seldir id					ړʂMOCɐݒ

	objsetf3 x,y,z					I𒆂MOCݒ
	objaddf3 x,y,z					I𒆂MOCZ

	objgetfv fv					I𒆂MOC擾
	objsetfv fv					I𒆂MOCݒ
	objaddfv fv					I𒆂MOCZ

	fvset fv,x,y,z					xNgݒ
	fvseti fv,x,y,z					lxNgݒ
	fvadd fv,x,y,z					xNgZ
	fvsub fv,x,y,z					xNgZ
	fvmul fv,x,y,z					xNgZ
	fvdiv fv,x,y,z					xNgZ
	fvdir fv,x,y,z					xNg]
	fvmin fv,x,y,z					xNgől
	fvmax fv,x,y,z					xNgŏl
	fvouter fv,x,y,z				xNgO
	fvinner fv,x,y,z				xNg
	fvface fv,x,y,z					Wpx𓾂
	fvunit fv						xNgK
	fsin fval,rot					TC߂
	fcos fval,rot					RTC߂
	fsqr fval,prm					߂
	froti fval,prm					lpxlɕϊ

	fv2str fv					xNg𕶎ɕϊ
	str2fv fv,"x,y,z"				xNgɕϊ


EHGIMG4̎gp@

	HGIMG4́AWindowsœ삷HSP3̃XNvgGfB^ȂǒʏHSP̂܂ gpĊJsȂ܂B
	KHSP3.4ȍ~HSPō쐬sȂĂB HGIMG4œ삷XNvg쐬ꍇ́A
	ŏ̍sɁAȉ̃R[hǉKv܂B

	#include "hgimg4.as"

	HGIMG4́AHSP3Dish^Cg`ŎĂ܂B
	HSP3Dish߂ׂăT|[gĂقA̊gsȂĂ܂B
	AHSP3Dishɂ鐧(ODLL/vOC̎gpsAo͂͒P̃XN[Ȃ)
	lɔ܂B{Iȕ@AvOHSP3ƓlłB
	HSP3DishɂĂ̏ڍׂ́AHSP3Dish vO~O}jAE{dlKCh(hsp3dish_prog.htm)
	QƂĂB


EHGIMG3Ƃ̈Ⴂ

	HGIMG4ł́A{IHGIMG3ƃ\[XR[ȟ݊͂܂B
	AHGIMG3ɐGꂽƂ郆[U[ł΁Aߑ̌nVXeIɌpĂ
	_ߔrIeՂɈڍs邱Ƃłł傤B

	HGIMG3Ƃ̎ȈႢ͈ȉ̒ʂłB

	EHGIMG3ł̓f𐶐āAIuWFNgɊ蓖ĂĂ܂AHGIMG4ł
	@IuWFNg(m[hIuWFNg)𒼐ڐĔzu`ɂȂ܂B
	ECg̔fAeNX`AFAݒȂǂ̏̓}eAIuWFNgƂ
	@AIuWFNgɊ蓖Ă`ɂȂ܂B
	EHGIMG3setefx߂ɂw肳Ă}eA̐ݒ͗pł܂B
	EHGIMG4OpenGLɂEWngpĂ܂BYZ̐HGIMG3ƈقȂ܂
	EHGIMG4ł̓IuWFNg̉]ł̓NH[^jI`ŕێĂ܂B
	@HGIMG3ƓlX,Y,Z]̊px^邱Ƃ\łAHGIMG3ƈقȂ]pɂȂ
	@\܂B
	Ef𕡐zu悤ȏꍇ́AN[(gpclone)𗘗p邱Ƃ܂B


Eƕ`̕@

	ȉ̎菇ɏ]čsȂĉB

		gpreset				; hgimg̏

	gpreset߂́AVXeSsȂ߂łB
	͂łAxłsȂƂ\łB

	IAło^ĂIuWFNg\\
	ԂɂȂ܂B
	HGIMG4ł́A`ȉ̂悤ȃ[vōsȂ܂B

	;------------------------------------------------------------------
	*main
		;	`惁C
		;
		redraw 0			; `Jn(ʃNA)

		;	
		;	e`sȂ
		;	

		redraw 1			; `I
		await 1000/60			; ԑ҂(60t[/b)
		goto *main
	;------------------------------------------------------------------

	ʂ̏Ɋւ\[X́Aredraw 0ŕ`Jnm点āA
	redraw 1ɂ`I^C~Om点悤ɂĂB
	ʏHSP3Ƃ͈ႢAuredraw 0vw肷邱ƂɂAXN[
	UNA܂B

	`JnĂAboxAmes̕`施߂RɋLq邱Ƃł܂B
	̌Aawait߂Ŏԑ҂(EFCg)܂Buawait 10v̏ꍇ́A
	Œł10ms̑҂Ԃ܂B

	̃[́AHSP3DishƓlłB
	2D`Ɏgp\ȕ`施߂ƎdlɂĂA{IHSP3DishƓɂȂĂ܂B
	T|[gĂ閽߂̏ڍׂ́Asupport_cmds.txtQƂĂB


E3D̊Tv

	HGIMG4́AVvŏ_̂3D`VXe񋟂܂B
	dvȍ\PʂAum[hIuWFNgvɂȂ܂B

	um[hIuWFNgv́AHGIMG4̑ΏۂƂȂ̂ŁA
	um[hv܂́uIuWFNgvƂĂ΂܂B
	um[hIuWFNgv́A3DE\vfׂĂ܂łA
	ꂼꂪƎ̔ԍ(ID)Ă܂B

	m[hIuWFNǵAȉ̏Ă܂B

		ʔԍ(ID)
		m[h(Name)
		X,Y,ZW(Pos)
		X,Y,Z](Ang)
		X,Y,Z{(Scale)
		X,Y,Zړ(Dir)
		R,G,BJ[(Color)
		[Nl(X,Y,Z,W)(Work,Work2)
		}eA(MatID)
		(Physics)
		J(_)ݒ(Camera)
		Cg()ݒ(Light)
		G~b^[(p[eBN)ݒ(Emitter)

	uV[v́Áum[hIuWFNgv܂߂EŜw܂B
	HGIMG4ł́AuV[vɓo^ꂽum[hIuWFNgv_O(`)
	ΏۂƂȂ܂B
	ʓIȃvO̗ƂẮAȉ̂悤ɂȂ܂B

		gpreset߂ŃV[ŜZbg
			
		Kvȃm[hIuWFNgV[ɓo^
			
		m[hIuWFNg̐ݒK؂ɍsȂ
			
		gpdraw߂ŃV[̕`sȂ

	V[Ƀm[hIuWFNgǉ邽߂̖߂ƂĈȉpӂĂ܂B

		gpbox var,size,color,matobj			m[h𐶐
		gpfloor var,sizex,sizey,color,matobj		m[h𐶐
		gpplate var,sizex,sizey,color,matobj		m[h𐶐
		gpload var,"file","name"			gpbfm[h𐶐
		gpnull var					km[h𐶐
		gpclone var,objid				m[h𕡐

	ꂼ̖ߏڍׂ́A߂̃wv(F1L[)QƂĂB
	V[ɒǉꂽm[hIuWFNgID́AɎw肳ꂽϐɑ܂B
	ȍ~́Am[hIuWFNgIDĊe𑀍삷邱Ƃ\łB

	ꂽIuWFNǵAʏ(0,0,0)̍Wɔzu܂B
	3DẂAEWngpĂ܂BZWl傫قǎOɁA
	YW傫قǓVɔzu܂B

	IuWFNg̍WApxAXP[ݒ肷邽߂̊{IȖ߂͈ȉɂȂ܂B

		setpos id,x,y,z		X,Y,ZW(Pos)ݒ
		setang id,x,y,z		X,Y,Z](Ang)ݒ
		setangr id,x,y,z	X,Y,Z](Ang)ݒ(l)
		setscale id,x,y,z	X,Y,Z{(Scale)ݒ

	m[hIuWFNgIDx,y,zp[^[(lgp\)ɂĎw肵܂B

		:
		setpos 3, 5, 1.2, 0.5

	̗ł́Am[hIuWFNgID3̂̕W( 5.0, 1.2, 0.5 )̈ʒuɐݒ肵܂B
	setang߂ł́AIuWFNǧĂX,Y,Zpxw肵ĉ]sȂ܂B
	(px̒Pʂ̓WA(1Ń*2)ɂȂ܂)
	܂Âߊpx𐮐lŐݒ肷邱Ƃ̂łsetangr߂pӂĂ܂B
	̏ꍇ́A256ň(360x)̒PʂŎwsȂ܂B
	(00xA6490xA128180xcƂȂ܂B)
	lɂAȉ̏ݒ肷邽߂̖߂pӂĂ܂B

		setdir id,x,y,z		X,Y,Zړ(Dir)ݒ
		setcolor id,x,y,z	R,G,BJ[(Color)ݒ
		setwork id,x,y,z	[Nl(X,Y,Z)ݒ
		setwork2 id,x,y,z	[N2l(X,Y,Z)ݒ

	X,Y,Zړ(Dir)̓IuWFNg̎ړ[h(OBJ_MOVE)IꂽۂɎQƂ
	ړʂɂȂ܂BR,G,BJ[(Color)́ACgȂǈꕔ̃IuWFNgŐFݒ肷
	ۂɎgp܂B
	[NlA[Nl2́A[U[RɎgpł鐔li[pɗpӂĂ܂B

	ڒlݒ肷邾łȂZsȂadd`n̖߂pӂĂ܂B

		addpos id,x,y,z		X,Y,ZW(Pos)Z
		addang id,x,y,z		X,Y,Z](Ang)Z
		addangr id,x,y,z	X,Y,Z](Ang)Z(l)
		addscale id,x,y,z	X,Y,Z{(Scale)Z

	́AƂƐݒ肳Ălɑ΂āAw肵lZ܂B
	add`n̖߂́Aset`n̖߂Ɠl̎ނpӂĂ܂B

	܂Aݒς݂̏擾邽߂ɁAget`n̖߂pӂĂ܂B

		getpos id,x,y,z		X,Y,ZW(Pos)擾
		getscale id,x,y,z	X,Y,Z{(Scale)擾
		getdir id,x,y,z		X,Y,Zړ(Dir)擾
		getwork id,x,y,z	[Nl(X,Y,Z)擾
		getwork2 id,x,y,z	[N2l(X,Y,Z)擾

	̖߂ł́Ax,y,zɓǂݏo̕ϐw肵܂B

		:
			; JXYZWϐa,b,cɓǂݏo
			getpos GPOBJ_CAMERA,a,b,c

	̗ł́AϐaXWAϐbYWAϐcZW
	ꂼ^ő܂B
	lŃp[^[擾ꍇ́Aȉ̖߂gp܂B

		getposi id,x,y,z	X,Y,ZW(Pos)𐮐lŎ擾
		getscalei id,x,y,z	X,Y,Z{(Scale)𐮐lŎ擾
		getdiri id,x,y,z	X,Y,Zړ(Dir)𐮐lŎ擾
		getworki id,x,y,z	[Nl(X,Y,Z)𐮐lŎ擾
		getwork2i id,x,y,z	[N2l(X,Y,Z)𐮐lŎ擾

	ŌɁuivtꂽ߂́Alŕϐɑ܂B
	W𐮐݂̂ňꍇAsȂꍇɎgp
	Ƃł܂B
	]̏擾ɂ͒ӂKvłB3Dm[hIuWFNǵAI
	]NH[^jI`ێĂAmX,Y,Z̉]px
	߂邱ƂłB̂߁Asetangaddang߂Ȃǉ]̐ݒł́A
	X,Y,Zpxw肷邱Ƃł܂A擾ɊւĂ̓T|[gĂ܂B


E2D`̊Tv

	HGIMG4́A2D`ɊւlXȋ@\pӂĂ܂B
	2D`̕@́A傫2̃JeSɕ܂B

	Eڕ`

		mes߁Aboxf߂ȂHSP3DishT|[gĂWI
		`施߂𗘗p\łB
		redraw 0`redraw 1܂ł̕`惋[v(1t[̕`P)
		Lq邱Ƃŕ`悪s܂B

	EXvCgIuWFNgɂ`

		IuWFNg1ƂăV[ɃXvCgIuWFNg
		o^ĊǗ邱Ƃł܂B
		XvCgIuWFNǵA3D̃m[hIuWFNgƓl
		IuWFNgIDUAWpxA{Ȃǂݒ肷邱Ƃ\łB

	KvɉāAg₷@IĂB
	Ƃ΁Awiɑ傫2D摜\ꍇgcopy߂Ȃǂ̒ڕ`A
	GLN^[ȂǑʂɓoꂷ̂̓XvCgIuWFNgƂ
	prU蕪邱Ƃł܂B

	XvCgIuWFNg𐶐ꍇ́Agpspr߂gp܂B

		gpspr var,bufid,celid,gmode			2DXvCg𐶐

	bufidœǂݍ܂ꂽ摜̃obt@IDAcelidŃZIDAgmodeō[hw肵
	XvCgIuWFNg𐶐܂B
	ꂽIuWFNgIDvarŎw肳ꂽϐɑ܂B

	ꂽXvCgIuWFNǵAʏ(0,0)̍Wɔzu܂B
	2DẂAXN[W(ʂ̃hbgƂP΂PɑΉl)ŊǗA
	ʂ̍オ(0,0)̍WƂȂ܂B

	o^ꂽXvCgIuWFNǵAgpdraw߂ŃV[̕`悪sȂ^C~O
	Iɕ`悳܂B̍ۂɂ́Aݒ肳ꂽX,Y{AZ]pxKp܂B
	XvCgIuWFNǵAIuWFNg蔻(RW)A[hɂ鐧Ȃ
	lXȋ@\p邱Ƃł܂B


EIuWFNg̃[hݒ

	\IuWFNg(m[hIuWFNgAXvCgIuWFNg)ɂ́AON/OFF\
	[hݒ肪pӂĂ܂B

		setobjmode id,mode,sw			IuWFNg̃[hݒ

		ObjID    : IuWFNgID
		mode     : [hl
		sw       : ݒXCb`

	sẃAȉ̂悤ɓ삵܂B

		sw = 0 : w肵[hlǉ
		sw = 1 : w肵[hl폜
		sw = 2 : w肵[hlݒ

	[hl͈ȉ̒I܂B

		x             |        e
		--------------------------------------------------------------
		OBJ_HIDE             \(ʂ)
		OBJ_CLIP             3DNbsOLɂ
		OBJ_XFRONT           ʑ(ɉʂɐʂ)
		OBJ_WIRE             C[t[ŕ`悷
		OBJ_MOVE             ړsȂ(XYZړʂQƂ)
		OBJ_FLIP             {[_[̈Ŕ]
		OBJ_BORDER           {[_[̈Lɂ
		OBJ_2D               2DXvCg
		OBJ_TIMER            ^C}[Lɂ
		OBJ_LATE             ォ`悳(IuWFNgp)

	̍ڂ𓯎ɑIꍇ́AuOBJ_LATE|OBJ_MOVEv̂悤
	u|vŋ؂Ďw肷邱Ƃł܂Bw肵Ȃꍇ́A0ɂ邩
	ȗč\܂B

		:
		setobjmode id, OBJ_MOVE, 0

	̗ł́AϐidŎw肳IuWFNgɁAOBJ_MOVE(ړsȂ)ݒ
	ǉ܂BɂÃIuWFNgXYZړ(setdir߂Őݒ肳)
	ƂɎIɈړ悤ɂȂ܂B


EJ̐ݒ

	J(_)́A3DV[`悷_̍W̂łB
	J́Am[hIuWFNg1ƂĈAŗL̃IuWFNgIDĂ܂B

	V[ZbgƁAftHg̃Jzu܂B
	ftHg̃Jɂ́AGPOBJ_CAMERA}NgpăANZX邱Ƃł܂B

		:
		setpos GPOBJ_CAMERA, 0,1,5		; Jʒuݒ

	̗ł́AftHg̃J(0,1,5)̍Wɐݒ肵܂B
	J3DV[邽߂̎_WƂȂAm[hIuWFNg̉]ɂ莋_
	肳܂Bw肳ꂽWJ猩邽߂̊pxݒ肷邱Ƃ̂ł
	gplookat߂pł܂B

		:
		gplookat GPOBJ_CAMERA, 0,1,0		; J_ݒ

	̗ł́A(0,1,0)̍W邽߂̊pxJɓKp܂B

	ftHg̃JłȂAV[ɃJ𕡐ݒ肵Đ؂ւ邱Ƃ\łB

		:
		gpnull id_camera			; km[h𐶐
		gpcamera id_camera, 45, 1.5, 0.5, 768	; JƂĐݒ肷
		gpusecamera id_camera			; gpJI
		setpos id_camera, 0,20,20		; Jʒuݒ肷

	V[ɔzuꂽJ́Agpusecamera߂ɂ؂ւ邱Ƃł܂B
	Ǝ̃J𐶐邱ƂɂAFOV(p)Z͈̔(ZNbsO͈)Ǝ
	ݒ肷邱Ƃł܂B


ECg̐ݒ

	Cg()́A3DV[ɔzu\ȏƖ̏łB
	CǵAm[hIuWFNg1ƂĈAŗL̃IuWFNgIDĂ܂B

	V[ZbgƁAftHg̃Cgzu܂B
	ftHg̃Cgɂ́AGPOBJ_LIGHT}NgpăANZX邱Ƃł܂B

		:
		setcolor GPOBJ_LIGHT, 1,1,1		; CgJ[ݒ
		setdir GPOBJ_LIGHT, 0.5,0.5,0.5		; ArGgJ[ݒ

	̗ł́AftHg̃CgF(1,1,1)ɐݒ肵܂B
	F̐ݒ́A0`1̒lRGBƂɎw肷邱Ƃł܂B1͍ő̋PxƂȂ邽߁A
	RGB̒iKŕ\ƁA(R=255,G=255,B=255)ɂȂ܂B
	Cg̏ꍇ́AsetdirɂArGg()J[ݒ肵܂B
	̗ł́A(R=128,G=128,B=128)ArGg()J[ɂȂ܂B
	Cg̉]pxύX邱ƂŁAƖ𓖂Ăς܂B
	X|bgCgA|CgCgݒ肳Ăꍇ́ACg̍Wp[^[vf
	PƂȂ܂B(݂̃o[Wł́AX|bgCgA|CgCg̓T|[gĂ܂)

	ftHg̃CgłȂAV[ɃCg𕡐ݒ肵Đ؂ւ邱Ƃ\łB

		:
		gpnull id_alight			; km[h𐶐
		gplight id_alight, GPOBJ_LGTOPT_NORMAL	; CgƂēo^
		gpuselight id_alight			; ftHg̃Cgɐݒ

	V[ɔzuꂽCǵAgpuselight߂ɂ؂ւ邱Ƃł܂B


ERWO[vݒƏՓˌm

	IuWFNgƂɁARWO[vݒ肷邱ƂɂA
	ʂʂ₷AՓˌmȂǂ̋@\pł悤ɂȂ܂B

	setcoli id,mygroup,enegroup		IuWFNg̃RWݒ

		id       : IuWFNgID
		mygroup  : O[vl
		enegroup : Փ˂oΏۂƂȂO[vl

		IuWFNgɑ΂ăRWݒ肵܂B
		O[vĺA
		1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768c
		̒1I\łB(32rbgl܂Ŏw\)

	RWO[vݒ肳ĂIuWFNgḿAgetcoli߂ɂ
	w͈͓̏Փ˂oł悤ɂȂ܂B

	getcoli var,id,distance			IuWFNg̃RW

		var      : ʂϐ
		id       : IuWFNgID
		distance : Փ˂o͈(l)

		w肵IuWFNgRWƂɁA
		IuWFNgՓ˂ĂʂȃIuWFNgID𒲂ׂ܂B
		distancéAՓ˂͈(a)floatlŎw肵܂B
		Փ˂oꂽꍇ́AϐɃIuWFNgID܂B
		Փ˂oȂꍇ́A-1܂B

	RWO[vݒƏՓˌḿA3Dm[hIuWFNgA2D̃XvCgIuWFNg
	ǂłpł܂BA3Dm[hIuWFNgƃXvCgIuWFNgm
	WnقȂ邽ߏՓ˂͌m܂B


E̐ݒ

	HGIMG4ł́ABullet Physics Libraryɂ镨3Dm[hIuWFNgɓĂ܂B
	V[ɔzuꂽ̂ɕݒ肷邱ƂŁA@ɏ]sȂ܂B
	̑ΏۂƂȂ̂́Am[h(gpboxŐ)Am[h(gpfloorŐ)Am[h(gpplateŐ)
	ygpbfm[h(gploadŐ)ƂȂ܂B
	m[hIuWFNg𐶐iKł́Aݒ͍sȂĂ܂B
	ݒsȂꍇ́Agppbind߂gpĂB

		gppbind objid,mass,friction		m[hɕWIȕݒ

	ŏɁAgppbind߂ɂ{IȕݒsȂĂB
	p[^[masśÂ̏dBfriction͖CWłBlȗꍇ́AftHglgp܂B
	d(mass)0ɂ邱ƂŐÓI(Փ˂͂邪AȂ)ƂĐݒ肳܂B
	ȊȌꍇ́A@ɏ]ď̂ꏊ܂ŗ܂B

	ݒ肷ꍇ́AK(n)ƂȂ镔쐬ĂĂB
	@gpfloor߂ɂĐꂽɕWIȕݒ肷邱ƂŁAŒ肳ꂽʂ
	@邱Ƃł܂B݂ȂꍇÂ͉iɗ𑱂邱ƂɂȂ܂B

	Ŏgp`́A{IɂƂ̌`ƓɂȂ܂Agpbfm[h̏ꍇ̓fŜ
	ݍރoEfBOgp܂B

	ݒsȂm[hIuWFNǵAȍ~ē삷悤ɂȂA
	setposȂǂ̍WύX͖ƂȂ܂B
	̂ɗ͂ꍇ́Agppapply߂gpĂB

		gppapply objid,action,x,y,z		m[hɕIȗ͂Kp

	gppapply߂́Am[hɑ΂(x,y,z)Ŏw肵xNg̕Iȗ͂Kp܂B
	p[^[actionŐݒł^Cv́Aȉ̒ʂłB

	        }N                     e
	    ----------------------------------------------------------------------------
		GPPAPPLY_FORCE               ړ悤Ƃ͂Z
		GPPAPPLY_IMPULSE             uԓIȏՌ^
		GPPAPPLY_TORQUE              gN(˂)͂^
		GPPAPPLY_TORQUE_IMPULSE      gN+Ռ^

	ڍׂȕݒsȂꍇ́Agppset߂gpĂB

		gppset objid,prmid,x,y,z		m[h̕p[^[ݒ

	p[^[prmidŁAݒ肷鍀ڂw肷邱Ƃł܂B
	X,Y,ZɎw肳ꂽlAꂼ̍ڂɓKp܂B

	        }N                          e
	    ----------------------------------------------------------------------------
		GPPSET_ENABLE                     X=ON/OFF(0=)
		GPPSET_FRICTION                   X=CW, Y=e͐ݒ
		GPPSET_DAMPING                    X=linear(0`1.0), Y=angular(0`1.0)
		GPPSET_KINEMATIC                  X=KinematicݒON/OFF(0=)
		GPPSET_ANISOTROPIC_FRICTION       X,Y,Z=ٕ̖C
		GPPSET_GRAVITY                    X,Y,Z=d
		GPPSET_LINEAR_FACTOR              X,Y,Z=xNgɉړ̐ݒ
		GPPSET_ANGULAR_FACTOR             X,Y,Z=xNgɉ]̐ݒ
		GPPSET_ANGULAR_VELOCITY           X,Y,Z=]xVeB[
		GPPSET_LINEAR_VELOCITY            X,Y,Z=jAxVeB[


E}eA̐ݒ

	}eÁA`(_O)ɊւڍׂȐݒłB
	FɊւ񂩂eNX`摜AVF[_[̐ݒȂǕL܂B
	ʏ̃m[hIuWFNgł́AWIȃ}eAIɓKp܂B

		:
		gpbox id_model, 1, 0xffffff	; F̔m[hǉ

	̗ł́AF̗̂܂B
	[U[}eAƎɐ邱ƂɂAʂȎ̐ݒ肪\ɂȂ܂B
	}eA𐶐邽߂̖߂͈ȉ̒ʂłB

		gpcolormat var,color,opt			J[}eA̐
		gptexmat var,"file",opt				eNX`}eA̐
		gpusermat var,"vsh","fsh","defs",color,opt	JX^}eA̐

	̏ꍇA}eAƁA}eAIDƌĂ΂鐮l
	ϐɑ܂Bȍ~́A}eAIDĊeݒύX邱Ƃ
	\ƂȂ܂B

	gpcolormat߂́APF̃J[}eA𐶐܂B

		:
		gpcolormat mat_id,0xff00ff,GPOBJ_MATOPT_NOLIGHT
		gpbox id_model, 1, , mat_id

	̗ł́ARGBJ[0xff00ff()́ACeBOsȂȂ}eAA
	̂̃m[hIuWFNg܂B
	[U[}eAIDAIuWFNgɎw肷邱Ƃɂ
	Ǝ̃}eA邱Ƃ\ɂȂ܂B
	}eÃIvVŁAȉw肷邱ƂɂݒύX邱Ƃł܂B
	̐ݒ́Agpmatstate߂ŕʓrݒ肷邱Ƃ\łB

	        }N                e
	    ----------------------------------------------------------------------------
		GPOBJ_MATOPT_NOLIGHT    CeBOsȂȂ
		GPOBJ_MATOPT_NOMIPMAP   MIPMAP𐶐Ȃ
		GPOBJ_MATOPT_NOCULL     JO𖳌ɂ
		GPOBJ_MATOPT_NOZTEST    ZeXg𖳌ɂ
		GPOBJ_MATOPT_NOZWRITE   Zobt@݂𖳌ɂ
		GPOBJ_MATOPT_BLENDADD   vh[hZɐݒ肷

	gptexmat߂́AeNX`(摜)}eA𐶐܂B

		:
		gptexmat id_texmat, "res/qbox.png"	; eNX`}eA쐬
		gpbox id_model, 1, , id_texmat		; m[hǉ

	̗ł́ArestH_qbox.pngeNX`ƂĎ}eA𐶐܂B

	gpusermat߂́AJX^}eA𐶐̂ŁACӂ̃VF[_[g
	`ׂ̂ĂRg[邱Ƃł悤ɂȂ܂B
	́AVF[_[ɂĂ̒m㋉Ҍ̊g@\ł̂ŁAʏ
	gpKv͂܂B

		gpusermat var,"vsh","fsh","defs",color,opt	JX^}eA̐

		var      : ʂϐ
		"vsh"    : o[ebNXVF[_[t@C
		"fsh"    : tOgVF[_[t@C
		"defs"   : ǉ̃x`
		color    : RGBJ[R[h
		opt      : }eAIvVw

	JX^}eA𐶐ꍇ́Agpmatprm߂ɂăVF[_[p[^[
	n߂̒lݒ肷邱Ƃł܂B

		:
		gpmatprm objid,"u_diffuseColor",1,0,0.5 ; }eÃp[^[ݒ

	̗ł́Au_diffuseColorƂ̂̃p[^[( 1.0, 0.0, 0.5 )̃xNgl
	ݒ肵܂BɂA}eAƂɈقȂp[^[VF[_[ɓnƂ
	\ɂȂ܂B

	gpmatstate߂́A}eAIDĕ\̂߂̃Xe[gݒύX܂B

		gpmatstate objid,"name","value"		}eÃXe[gݒ

	ƂnameŎw肳ꂽڂɑ΂āAvalueŎw肳ꂽeݒ肵܂B
	ڂƐݒeׂ͂ĕōsȂ̂ŒӂĂB
	ݒ荀ڂƁAeɂĂ̏ڍׂ͈ȉ̒ʂłB

		name             value
	    --------------------------------------------------------------------
		"blend"          vh̗L/؂ւ
	                         (true ܂ false w)
		"blendSrc"       uhI(LQ)
		"blendDst"       uhI(LQ)
		"cullFace"       Bʏ(JO)̗L/؂ւ
	                         (true ܂ false w)
		"cullFaceSide"   Bʏ(JO)̖ʎw
		"depthTest"      true ܂ false
	                         (true ܂ false w)
		"depthWrite"     Zobt@݂̗L/؂ւ
	                         (true ܂ false w)
		"depthFunc"      Zlr@I(LQ)

		(*)blendSrc,blendDstŐݒł镶

		"ZERO"                     l(0)
		"ONE"                      l(1)
		"SRC_COLOR"                ݌J[
		"ONE_MINUS_SRC_COLOR"      ݌J[(]l)
		"DST_COLOR"                ݐJ[
		"ONE_MINUS_DST_COLOR"      ݐJ[(]l)
		"SRC_ALPHA"                ݌
		"ONE_MINUS_SRC_ALPHA"      ݌(]l)
		"DST_ALPHA"                ݐ惿
		"ONE_MINUS_DST_ALPHA"      ݐ惿(]l)
		"CONSTANT_ALPHA"           Œl
		"ONE_MINUS_CONSTANT_ALPHA" Œl(]l)
		"SRC_ALPHA_SATURATE"       ݌]l

		(*)cullFaceSideŐݒł镶

		BACK             ʂJO
		FRONT            \ʂJO
		FRONT_AND_BACK   ʂJO

		(*)depthFuncŐݒł镶

		NEVER            ɋ
		LESS             l̎̂݋
		EQUAL            l̂݋
		LEQUAL           ꂩl̎̂݋
		GREATER          傫l̎̂݋
		NOTEQUAL         łȂl̂݋
		GEQUAL           ꂩ傫l̎̂݋
		ALWAYS           ɋ


E3Dff[^̕\

	gpload߂ɂAt@Cꂽ3Dff[^(.gpbt@C)
	ǂݍݕ\邱Ƃł܂B

		:
		gpload id_model,"res/duck"		; fǂݍ

	̗ł́ArestH_ɂduck.gpbt@Cǂݍ݂܂B
	̍ۂɁA}eA񂪏Ăduck.materialt@CQƂ܂B
	ɁAeNX`Kvȏꍇ́AtH_̉摜t@Cǂݍ܂܂B

	gpload߂œǂݍނ߂̃t@C(.gpb`)́Agameplay3DŕWIɎgpĂ
	f[^`łBHGIMG4ł́A.gpb`𐶐邽߂GPBRo[^[pӂĂ܂B

		gpbconv.exe

	N邱ƂŁAGUIɂt@Cϊc[N܂B
	(ŃR}hCc[gameplay-encoder.exeĂяo܂)

	.gpb`ƂƂɓǂݍ܂}eA(.material)AGPBRo[^[
	o͂\łB.materiaĺAeLXg`̃t@CȂ̂ŁAʏ̃eLXgGfB^
	{AKvɉēeҏW邱Ƃ\łB

	݂̃o[Wł́AFBXQƂeNX`ɂẮA}eA(.material)
	@o͂eNX`t@CɃpX(tH_)t邱ƂAǂݍ݂
	@łȂƂ܂B̏ꍇ́Aꂽ.materialt@CeLXgGfB^
	@JăeNX`t@C𒼐ڏC悤ɂĂB

	.gpb`fbx`ϊ邱Ƃ\łB
	fbx`́AAutodeskЂ3Dc[ŎgpĂWI3D`łB
	http://www.autodesk.co.jp/adsk/servlet/pc/index?siteID=1169823&id=14945696

	̌`fbxɕϊ邽߂FBX ConverterJĂ܂B
	ɂAOBJ, DXF, DAE(Collada), 3DŠ`ϊ邱Ƃł܂B
	http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775855

	݁Afbx̏o͂gpb̕ϊmFĂc[́ABlenderyMayaɂȂ܂B


EV[̕`ɂ

	gpdraw߂́AV[̃IuWFNgׂĕ`悷閽߂łB
	ȉ̃IvVw肷邱ƂŁAꂽڂ̕`悾sȂƂł܂B

	        }N                      e
	    --------------------------------------------------------------------
		GPDRAW_OPT_OBJUPDATE          IuWFNg̎ړ
		GPDRAW_OPT_DRAWSCENE          3DV[`揈
		GPDRAW_OPT_DRAWSCENE_LATE     3DV[`揈(OBJ_LATE)
		GPDRAW_OPT_DRAW2D             2DXvCg`揈
		GPDRAW_OPT_DRAW2D_LATE        2DXvCg`揈(OBJ_LATE)

	OBJ_LATẼ[htꂽ(lݒ肳Ă̂܂)́A
	s̃IuWFNgɕ`悷邽߁AڂĂ܂B
	̍ڂu|vŋ؂Ďw肷邱Ƃł܂B

		:
		gpdraw GPDRAW_OPT_DRAW2D|GPDRAW_OPT_DRAW2D_LATE

	̗ł́A2DXvCg`揈A2DXvCg`揈(OBJ_LATE)s܂B
	𗘗pƁA3DV[`2DXvCg`̊Ԃgcopy߂ȂǕʂȕ`施߂ɂ
	\sȂƂ\ɂȂ܂B

	gpdraw߂̃p[^[ȗꍇ́AׂĂ̍ڂIĂԂɂȂ܂B
	ʏ́Ap[^[w肵ȂĂ肠܂B
	܂A2D̒ڕ`施߂gpāAIuWFNgɂ`悪svȏꍇ́A
	gpdraw߂LqKv܂B


EIuWFNg̕`ɂ

	`ll̐ݒɂA2DXvCgIuWFNgy3Dm[hIuWFNg
	xύX邱Ƃł܂B

		setalpha IuWFNgID, l

	ĺA0`255܂ł̐lŁA0SȓA255SȕsƂȂ܂B
	l255ȊO()̏ԂƂȂIuWFNǵA`揇OʂɕύX܂B
	(OBJ_LATẼ[hw肳ꂽ̂Ɠ)


EIuWFNgIDv[ɂ

	IuWFNgID́A炩ߌ߂ꂽő吔̒ŁAgpĂȂIDԍ
	蓖Ă܂BIuWFNgő吔́AftHg1024ƂȂĂA
	sysreq߂ɂĊg邱Ƃ\łB

		:
		setreq SYSREQ_MAXOBJ,4096	; IuWFNgő吔4096Ɋg

	IDԍ̊蓖Ĕ͈͂CӂɕύX邽߂gpobjpool߂pӂĂ܂B

		:
		gpobjpool 100,50	; IuWFNgID̐ݒύX

	̗ł́AIDԍ100`150݂̂蓖đΏۂɕύX܂B
	ȍ~̃IuWFNg(gpboxgpnullȂ)ł́Aw肳ꂽ
	͈͓̃IuWFNgID݂̂蓖Ă܂B
	IuWFNgŜ̒œ̌܂łȂ悤ɐꍇA
	\xRg[ꍇɗpł܂B
	gpobjpool߂ɂāA炩ߐݒ肳ꂽIuWFNgő吔g邱Ƃ
	ł܂BKő吔͈͓̔ŐݒsȂ悤ӂĂB


EIuWFNg̃RAp[^[

	IuWFNgƂɕێĂdvȐݒlRAp[^[ƌĂт܂B
	RAp[^[́A32bitlŁAȉ̖߂ēǂݏ\łB

	gpsetprm objid,prmid,value			IuWFNg̃RAp[^[ݒ
	gpgetprm var,objid,prmid			IuWFNg̃RAp[^[擾

	RAp[^[IDƂĎw\ȍڂ͈ȉ̒ʂłB

		}N             | e
		--------------------------------------------------------------
		PRMSET_FLAG            IuWFNgo^tO(*)
		PRMSET_MODE            [hl
		PRMSET_ID              IuWFNgID(*)
		PRMSET_ALPHA           x(l)
		PRMSET_TIMER           ^C}[l
		PRMSET_MYGROUP         g̃RWO[v
		PRMSET_COLGROUP        ՓˌoRWO[v
		PRMSET_SHAPE           `ID(*)
		PRMSET_USEGPMAT        }eAID
		PRMSET_USEGPPHY        ݒID
		PRMSET_COLILOG         RWOID(*)
		PRMSET_SPRID           \[Xobt@ID(XvCĝ)
		PRMSET_SPRCELID        \[X̃ZID(XvCĝ)
		PRMSET_SPRGMODE        Rs[[h(XvCĝ)

	(*)tRAp[^[́A݂sȂꍇAȓ삪ۏ؂܂B


EIuWFNg̃N[

	N[@\́Aɑ݂IuWFNgƓݒŁAVIuWFNg
	̂łB̌`Ap[^[ݒ(ݒ)܂Wpx
	ȂǂVݒ肷邱Ƃł܂B
	̂̕𕡐ꍇɁAݒǂݍ݂xsȂԂyɂ
	Ȃ܂B

		:
		gpload id_model,"res/duck"	; fǂݍ
		gpclone i, id_model		; ̂N[

	݂̃o[Wł́AV[ɑ݂\\ȃIuWFNgȊO
	@N[邱Ƃł܂̂ŒӂĂB


ExNgT|[g

	xNgT|[g߂́AlAxNglȂǂ̏߂
	ߌQłBxNgϐɊi[@ƂFVlƂ\o
	܂Áuϐ=1.0v̂悤1̒l̂ł͂Ȃ
	uϐ(0)=X:ϐ(1)=Y:ϐ(2)=Zv̂悤Ɏ^̔zϐƂ
	3̗vf(X,Y,Z)i[Ă`łB

	FVlgp邱ƂŁARWxNgȂǂ̏rI
	ĈƂł܂BFVlZ閽߂ł́A3̗vf
	΂ČvZ邽߁AP̗vfƂɌvZVvō
	sȂƂł܂B

	fvseti fv,x,y,z					lxNgݒ

		fv      = FVlϐ
		(x,y,z) = l

		(x,y,z)Ŏw肳ꂽlxNgƂFVlɑB

	fvset fv,x,y,z					xNgݒ

		fv      = FVlϐ
		(x,y,z) = l

		(x,y,z)Ŏw肳ꂽlxNgƂFVlɑB

	fvadd fv,x,y,z					xNgZ
	fvsub fv,x,y,z					xNgZ
	fvmul fv,x,y,z					xNgZ
	fvdiv fv,x,y,z					xNgZ

		fv      = FVlϐ
		(x,y,z) = vZl(l)

		fvŎw肳ꂽϐɊi[ĂFVlƁAw肳ꂽ
		l(X,Y,Z)̉ZōsȂ܂B

	fvdir fv,x,y,z					xNg]

		fv      = FVlϐ
		(x,y,z) = ]px(l)

		fvŎw肳ꂽϐɊi[ĂxNg(FVl)A
		l(X,Y,Z)Ŏw肳ꂽX,Y,Zpxɉ]܂B

	fvmin fv,x,y,z					xNgől

		fv      = FVlϐ
		(x,y,z) = rl(l)

		fvŎw肳ꂽϐɊi[ĂFVlƁA
		l(X,Y,Z)rāAl̑傫̂܂B
		FVl̊evfŏl܂łɐ؂l߂ꍇɎgp܂B

	fvmax fv,x,y,z					xNgŏl

		fv      = FVlϐ
		(x,y,z) = rl(l)

		fvŎw肳ꂽϐɊi[ĂFVlƁA
		l(X,Y,Z)rāAl̏̂܂B
		FVl̊evfől܂łɐ؂l߂ꍇɎgp܂B

	fvouter fv,x,y,z				xNgO

		fv      = FVlϐ
		(x,y,z) = ZxNgl(l)

		fvŎw肳ꂽϐɊi[ĂFVlƁA
		l(X,Y,Z)Ŏw肷xNg̊Oς߂đ܂B

	fvinner fv,x,y,z				xNg

		fv      = FVlϐ
		(x,y,z) = ZxNgl(l)

		fvŎw肳ꂽϐɊi[ĂFVlƁA
		l(X,Y,Z)Ŏw肷xNg̓ς߂fv.0ɑ܂B

	fvface fv,x,y,z					Wpx𓾂

		fv      = FVlϐ
		(x,y,z) = X,Y,ZWl(l)

		fvŎw肳ꂽϐɊi[ĂxNg(FVl)_Ƃ
		X,Y,ZWAw肳ꂽX,Y,ZW𒼐Ō邽߂̉]px߂
		܂B

	fvunit fv						xNgK

		fv      = FVlϐ

		fvŎw肳ꂽϐɊi[ĂxNg(FVl)𐳋K܂B

	fv2str fv						xNg𕶎ɕϊ

		fvŎw肳ꂽϐɊi[ĂxNg(FVl)𕶎
		ϊăVXeϐrefstrɌʂԂ܂B

	str2fv fv,"x,y,z"				xNgɕϊ

		"x,y,z"Ŏw肳ꂽu,vŋ؂ꂽX,Y,ZlƂ
		ǂݏoAfvŎw肳ꂽϐɊi[܂B

	str2f fval,"val"				lɕϊ

		"val"Ŏw肳ꂽlƂēǂݏoA
		fvalŎw肳ꂽϐɊi[܂B

	f2str val,fval					l𕶎ɕϊ

		fvalŎw肳ꂽl𕶎ɕϊāAvalŎw肳ꂽ^
		ϐɌʂԂ܂B

	FVlꂽϐŁAIuWFNg̃p[^[ݒ肵A擾邱Ƃł܂B

		:
		fvset fv, 1,5,2				; FVl
		selpos GPOBJ_CAMERA			; J̍WݒI
		objsetfv fv				; JFVlݒ

	̗ł́AJ̍W(1,5,2)ɐݒ肵Ă܂B
	sel`n̖߂ŐݒIAobjsetfv̖߂őIꂽIuWFNg
	ANZX邱Ƃł܂B

		selpos id				X,Y,ZW(Pos)I
		selang id				X,Y,Z](Ang)I
		selscale id				X,Y,Z{(Scale)I
		seldir id				X,Y,Zړ(Dir)I
		selcolor id				R,G,BJ[(Color)I
		selwork id				[Nl(X,Y,Z)I
		selwork2 id				[N2l(X,Y,Z)I

	sel`n̖߂ŐݒIAȉ̖߂Ŏ擾EݒEZȂǂ
	sȂƂ\łB

		objgetfv fv				I𒆂MOC擾
		objsetfv fv				I𒆂MOCݒ
		objaddfv fv				I𒆂MOCZ

	xNgT|[g߂́AKׂĂ̐lgKv͂܂B
	㋉҂̕ʂɍ킹Ďgp̑IƂł傤B


Et[[g̎擾

	getreq߂ɂA`掞̃t[[g擾邱Ƃł܂B

		getreq fps,SYSREQ_FPS

	̗ł́AϐfpsɃt[[g(1bԂɉʂ`悳ꂽ)܂B
	t[[ǵA{Iɕ`惋[v(redraw 0`redraw 1̌JԂ)Ŏw肳
	await߂̑҂ԂŌ肳܂B
	t[[gɕۂAʂ̂(eBAO)h~邽߂ɁA
	VSYNC҂(҂)w肷邱Ƃł܂B

		setreq SYSREQ_VSYNC,1
		gpreset

	̂悤ɁAgpreset̑Osetreq߂ɂVSYNC҂LɂĂB
	ɂAʏ͕b60t[Ƃ̓ƂȂ܂B
	(̏ꍇłAawait߂͓悤ɂĂ)


Eo^̌Eɂ

	o^IuWFNgA}eAȂꍇ́Aʓr
	setreq߂ɂő吔ݒ肷Kv܂B
	ȉ̗́AIuWFNgő吔4096ɐݒ肵܂B

		setreq SYSREQ_MAXOBJ,4096	; IuWFNgő吔g

	setreqŐݒłȍڂ͈ȉ̒ʂłB(JbR̓ftHgl)

		}N              e
		---------------------------------------------------------
		SYSREQ_MAXOBJ         IuWFNgő吔(1024)
		SYSREQ_MAXMATERIAL    }eAő吔(128)
		SYSREQ_VSYNC          VSync҂Lɂ(0)
		SYSREQ_THROUGHFLAG    W̃{[_[tO(0)
		SYSREQ_FPS            t[[g(擾̂)

	̑ɁAHSP3DishT|[gݒ荀ڂgp\łB


Eo[Wł̒ӓ_

	ȉ̋@\͖łB̃o[WŃT|[g\łB

	EfAj[V̊eRg[
	ERWIuWFNg̏ڍׂȐڐG
	EHGIMG3̃Cxg@\
	E|XgGtFNg(}`pX_O)Ɋւݒ
	E{tHg̃T|[g
	Ep[eBNƃG~b^[̏ڍאݒ
	E}`eNX`Aobv}bvAnCg}bvALODT|[g
	E}`vbgtH[(iOSAAndroid)


EOpenGLɂ

	HGIMG4́A`̃x[XVXeƂOpenGLgpĂ܂B
	Windowsp3D`x[XCuƂẮAHGIMG3DirectXgp
	Ă܂A͑傫]Ă܂B
	OpenGĹADirectXƓlɃ^CCuKvƂȂ܂A
	̑̓rfIhCoƓɃCXg[܂B
	܂AÂT|[gĂDirectXƈقȂOpenGL(3.1)
	Vn[hEFAT|[gĂ܂B
	2006Nȍ~nVidiaAMD̃OtBbNJ[hyintel
	OtBbN`bvڃ}U[{[hŃT|[gĂ܂B
	Windows7ȍ~̑̃VXeŁAT|[gĂƎv܂A
	Âp\Rł̌݊ĂȂꍇ܂B
	̈ŁAOpenGLiOSyAndroidȂǂ̃X}[gtHA^ubg
	[ɂĕWIȕ`惉CuƂč̗pĂ܂B
	HSP3Dishx[Xɍ쐬ĂHGIMG4́A̒[ł̓
	ɓĊJĂAWindowsłyiނƍl
	OpenGLSʓIɍ̗pĂ܂B
	DirectXƈقȂɌ˘f[U[̕邩Ǝv܂A
	݊Ȃǂ̏܂߂āAȂǂ񋟂ĂƍlĂ܂B


ECZXɂ

[U[HGIMG4gč쐬IWĩ\tgEFA(st@C)̌́A쐬[U[ɑ܂B
[U[HGIMG4gč쐬IWĩ\tgEFA(st@C)A
RɒʐMAAXȂǂœWAzzA̔邱Ƃł܂B
CZX͕Kv܂B
HGIMG4Ƃ̃\[XR[h́AHSPJZbgƓl̏CBSDCZXKp܂B

HGIMG4͈ȉ̃CugpĊJĂ܂B

GamePlay3D v1.7.0
http://www.gameplay3d.org

Bullet Collision Detection and Physics Library
Advanced Micro Devices, Inc.
http://bulletphysics.org

OpenHSP
Copyright (C) 1997-2013, ONION Software/onitama.
http://hsp.tv

Disclaimer

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
OTHER DEALINGS IN THE SOFTWARE.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
Neither the name of the Onion Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 

\[XR[h`oCi`AύX邩Ȃ킸Aȉ̏𖞂ꍇɌAĔЕzюgp܂B 

E\[XR[hĔЕzꍇAL̒쌠\A{ꗗAщLƐӏ܂߂邱ƁB 
EoCi`ōĔЕzꍇAЕzɕt̃hLg̎ɁAL̒쌠\A{ꗗAщLƐӏ܂߂邱ƁB 
Eʂɂʂ̋ȂɁA{\tgEFAhi̐`܂͔̔iɁAOnion Software̖O܂̓Rgr[^[̖OgpĂ͂ȂȂB 

{\tgEFÁA쌠҂уRgr[^[ɂāû܂܁v񋟂ĂAَ킸AƓIȎgp\Aѓ̖ړIɑ΂KɊւÖق̕ۏ؂܂߁A܂Ɍ肳ȂAȂۏ؂܂B쌠҂Rgr[^[AR̂킸A Q̌킸AӔC̍_ł邩iӔCł邩iߎ̑́js@sׂł邩킸Aɂ̂悤ȑQ\m炳ĂƂĂA{\tgEFA̎gpɂĔi֕i܂͑pT[rX̒BAgp̑rAf[^̑rAv̑rAƖ̒f܂߁A܂Ɍ肳ȂjڑQAԐڑQAIȑQAʑQAIQA܂͌ʑQɂāAؐӔC𕉂Ȃ̂Ƃ܂B 


-------------------------------------------------------------------------------
                                                HSP users manual / end of file 
-------------------------------------------------------------------------------
