Для увеличения яркости при наведении на источник света можешь воспользоваться функциями EntityInView() и управления яркостью\цветом света:
Code
Graphics3D 640,480
SetBuffer BackBuffer()
camera=CreateCamera()
PositionEntity camera,0,2,-10
Global light=CreateLight()
RotateEntity light,90,0,0
plane=CreatePlane()
ground_tex=LoadTexture("Gfx/1.bmp")
EntityTexture plane,ground_tex
cube=CreateSphere()
cube_tex=LoadTexture("Gfx/2.bmp")
EntityTexture cube,cube_tex
PositionEntity cube,0,1,0
While Not KeyDown( 1 )
If KeyDown( 205 )=True Then TurnEntity camera,0,-1,0
If KeyDown( 203 )=True Then TurnEntity camera,0,1,0
If KeyDown( 208 )=True Then MoveEntity camera,0,0,-0.05
If KeyDown( 200 )=True Then MoveEntity camera,0,0,0.05
CameraProject(camera,EntityX(cube),EntityY(cube),EntityZ(cube))
RenderWorld
If EntityInView(cube,camera)=True
Text ProjectedX#(),ProjectedY#(),"Sun!"
LightColor light,100,100,100
Else
LightColor light,10,10,100
EndIf
Text 0,0,"Use cursor keys to move about"
Text 0,80,"EntityInView: "+EntityInView(cube,camera)
Flip
Wend
End
Для создания облаков лучше подходят спрайты. Но они не будут затенять поверхности.