Question 2:
Not the best example because it's using self-generated media, but this is one way:
Set Display Mode 800,600,32
Sync On: Sync Rate 0: CLS 0
Hide Mouse
Backdrop On
Color Backdrop 0
AutoCam Off
Randomize Timer()
Set Ambient Light 80
Gosub MakePlanet
Position Camera 0,10,-20
Point Camera Object Position X(1), Object Position Y(1), Object Position Z(1)
Do
CX#=CAMERA ANGLE X(): CY#=CAMERA ANGLE Y(): CZ#=CAMERA ANGLE Z()
CX#=Wrapvalue(CX#+mousemovey())
CY#=Wrapvalue(CY#+mousemovex())
Rotate Camera CX#,CY#,CZ#
If MouseClick()=1
move camera .1
Endif
If MouseClick()=2
move camera -.1
Endif
YRotate Object 1,WrapValue(Object Angle Y(1)+.1)
YRotate Object 2,WrapValue(Object Angle Y(2)-.1)
Sync
Loop
End
MakePlanet:
Create Bitmap 1,640,480
Rem Earth-Like Planet Texture
CLS RGB(0,0,200)
Ink RGB(0,100,0),0
For N=1 To 500
X=Rnd(256): Y=Rnd(226)+30
Box X,Y,X+10,Y+10
Next N
Ink RGB(150,150,150),0
Rem Arctic Region
Box 0,0,256,30
For N=1 To 2000
X=Rnd(256): Y=Rnd(40)
Box X,Y,X+2,Y+2
Next N
Rem Antarctic Region
Box 0,226,256,256
For N=1 To 2000
X=Rnd(256): Y=Rnd(40)+226
Box X,Y,X+2,Y+2
Next N
Rem Remove Texture Seam
For N=0 To 127
Get Image 100,N,0,N+1,256
Paste Image 100,255-N,0
Next N
Blur Bitmap 1,4
Get Image 1,0,0,256,256
Rem Atmosphere
CLS 0
For N=1 To 1200
C=Rnd(200)
X=Rnd(256): Y=Rnd(256)
Ink RGB(C,C,C),0
Box X,Y,X+5,Y+5
Next N
Rem Remove Texture Seam
For N=0 To 127
Get Image 100,N,0,N+1,256
Paste Image 100,255-N,0
Next N
Blur Bitmap 1,3
Get Image 2,0,0,256,256
Set Current Bitmap 0
Delete Bitmap 1
Make Object Sphere 1,4
Texture Object 1,1
SET OBJECT 1,1,1,1,1,0,1,1
Make Object Sphere 2,4.5
Texture Object 2,2
SET OBJECT 2,1,0,0,1,0,1,1
Ghost Object On 2
Return
TDK_Man