Here and at us something has turned out.
Graphics3D 640,480,32,2 AppTitle "Zemlya v illuminatore" ;) x=128 tex=CreateTexture(x,x) SetBuffer TextureBuffer (tex) Cls For i=128 To 1 Step -1 Color (128 -i)/64 , (128 -i)/4, 256 -i*2 Oval (x-i)/2,(x-i)/2,i,i,1 Next SetBuffer BackBuffer() spr=CreateSprite() EntityTexture spr,tex ScaleSprite spr,8,8 pivot = CreatePivot() light = CreateLight () EntityParent light,pivot MoveEntity light,0,500,0 cam=CreateCamera() CameraZoom cam,4 MoveEntity cam,0,0,-80 Planet = CreateSphere(32) ScaleEntity planet, 7.2,7.2,7.2 MoveEntity planet,0,0,0 EntityColor planet, 0,10,20 EntityAlpha planet,.9 RotateEntity planet,0,0,20 EntityFX planet,4 HidePointer atmpivot = CreatePivot() EntityParent spr,atmpivot FPS=30 period=1000/FPS time=MilliSecs()-period While Not KeyHit(1) Repeat elapsed=MilliSecs()-time Until elapsed ticks=elapsed/period For k=1 To ticks time=time+period If k=ticks CaptureWorld PositionEntity atmpivot,0,0,0 PointEntity atmpivot,light MoveEntity atmpivot,0,0,1 PointEntity light, planet TurnEntity pivot,0,0,1 TurnEntity planet,0,.5,0 UpdateWorld Next tween# = Float(elapsed Mod period)/Float(period) RenderWorld tween FPScounter=FPScounter+1 If MilliSecs()>FPStimer FPS=FPScounter:FPScounter=0:FPStimer=MilliSecs()+1000 EndIf Text 10,10,"FPS :"+FPS Text 10,25,"Distance : " + Int(EntityDistance(cam,planet)) Text 10,400,"Mouse1 - Forward, Mouse2 - Back, Mouse3 - Find Planet, MouseRot - Look around" Flip False mx = MouseXSpeed(): my = MouseYSpeed() If mx TurnEntity cam,0,-Sgn(MX)*.2,0 If my TurnEntity cam,Sgn(MY)*.2,0,0 If MouseDown(1) MoveEntity cam,0,0,.05 If MouseDown(2) MoveEntity cam,0,0,-.05 If MouseHit(3) PointEntity cam,planet MoveMouse 320,240 Wend