Показать сообщение отдельно
Старый 07.04.2006, 23:37   #6
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Думаю, простейший код всё обьяснит. Как в плане производительности, так и в плане обьема.
Graphics3D 320,240,16,2
SetBuffer BackBuffer()

Obj1=CreateCube()
Obj2=CreateSphere()
MoveEntity Obj2,1,2,3

Cam=CreateCamera()
MoveEntity Cam,0,0,-5

Sun=CreateLight(1)

Scaner=CreatePivot()

;1---------------------
;Variant1: PointEntity
While Not KeyHit(1)
 m=MilliSecs()
 For q=1 To 10000
	PositionEntity Scaner,EntityX(Obj1),EntityY(Obj1),EntityZ(Obj1)
	PointEntity Scaner,Obj2
	TurnEntity Obj1,(EntityPitch(Scaner)-EntityPitch(Obj1))*0.00001,(EntityYaw(Scaner)-EntityYaw(Obj1))*0.00001,0
 Next
 m=MilliSecs()-m
	RenderWorld()
	Text 10,10,"POINTENTITY TEST"
	Text 10,20,"Millisecs: "+m
	Flip(1)
	Cls
Wend
TurnEntity Obj1,45,45,0

;2---------------------
;Variant2: RotateEntity
While Not KeyHit(1)
 m=MilliSecs()
 For q=1 To 10000
	RotateEntity Obj1,EntityPitch(Obj1)+DeltaPitch(Obj1,Obj2)*0.00001,EntityYaw(Obj1)+DeltaYaw(Obj1,Obj2)*0.00001,0
 Next
 m=MilliSecs()-m	
	RenderWorld()
	Text 10,10,"ROTATEENTITY TEST"
	Text 10,20,"Millisecs: "+m
	Flip(1)
	Cls
Wend
End
(Offline)
 
Ответить с цитированием