Вот:
[blitz]
Graphics3D 800,600,32
Const n#=5
Const p#=0.5
Const f#=2*n
Global Camera=CreateCamera()
PositionEntity Camera,0,0,-10
Global light_sun = CreateLight(2)
Global period=1000/30
Global time=MilliSecs()-period
Global FPS_Count%, FPS_LastCount%
Global MSL#=MilliSecs()
Function MyFPS$()
Local MS#=MilliSecs()
If (MS-MSL)>=500 Then
FPS_LastCount=FPS_Count*2
FPS_Count=0
MSL=MS
Else
FPS_Count=FPS_Count+1
EndIf
Return Str(FPS_LastCount)
End Function
obj%=CreateWallPart()
wf=1
While Not KeyDown(1)
SetBuffer BackBuffer()
Repeat
elapsed=MilliSecs()-time
Until elapsed
ticks=elapsed/period
tween#=Float(elapsed Mod period)/Float(period)
For k=1 To ticks
time=time+period
If k=ticks Then CaptureWorld
UpdateInput()
UpdateWorld
Next
If KeyHit(17) Then WF%=Not WF%
WireFrame WF
RenderWorld tween
Text 20,150, MyFPS()
;UpdateDayControl()
Flip(0)
Wend
Function CreateWallPart()
X1#=p
Z1#=p
X2#=n
Z2#=p
X3#=n
Z3#=n
X4#=p
Z4#=n
F1=CreatePoligon(X1#,Z1#, X2#, Z2#, X3#, Z3#, X4#, Z4#)
F2=CopyMesh(F1)
FlipMesh(f2)
PositionEntity(F2,0,f,0)
W1=CreateCube()
FitMesh(W1,0,0,0,p,f,n-p,0)
PositionEntity w1,0,0,p
W2=CreateCube()
FitMesh(W2,0,0,0,n-p,f,p,0)
PositionEntity w2,p,0,0
W3=CreateCube()
FitMesh(W3,0,0,0,p,f,p,0)
Piv = CreatePivot()
EntityParent(f1,Piv)
EntityParent(f2,Piv)
EntityParent(w1,Piv)
EntityParent(w2,Piv)
EntityParent(w3,Piv)
Return Piv
End Function
Function CreatePoligon(X1#,Z1#, X2#, Z2#, X3#, Z3#, X4#, Z4#)
Mesh%=CreateMesh()
Surf%=CreateSurface(Mesh)
V1%=AddVertex(Surf%, X1#, 0, Z1#);,0, 0)
V2%=AddVertex(Surf%, X2#, 0, Z2#); 1, 0)
V3%=AddVertex(Surf%, X3#, 0, Z3#); 1, 1)
V4%=AddVertex(Surf%, X4#, 0, Z4#); 0, 1)
T1%=AddTriangle(Surf%, V1%,V3%,V2%)
T2%=AddTriangle(Surf%, V1%,V4%,V3%)
Return mesh%
End Function
Function UpdateInput()
TurnEntity Camera, MouseYSpeed()*0.3,0,0
TurnEntity Camera, 0,-MouseXSpeed()*0.3,0,1
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
If KeyDown(200) Then MoveEntity camera,0,0,2
If KeyDown(20
Then MoveEntity camera,0,0,-2
If KeyDown(205) Then MoveEntity camera,2,0,0
If KeyDown(203) Then MoveEntity camera,-2,0,0
End Function
[/blitz]