Rem Text In 3D Hard Version by TDK_Man Feb 2007
 
Text 0,0,"Note: Program Takes A Few Seconds To Initialise..."
Text 0,28,"Please Press A Key To Start"
Wait Key
 
Gosub ScreenSetup
TextString$ = "Shaded 3D Text!":Rem <<<<< Change this to whatever
Gosub Decode
 
Do
  Gosub RotateCamera
  Sync
Loop
End
 
ScreenSetup:
  Set Display Mode 800,600,16
  Sync On: Sync Rate 0: CLS 0
  AutoCam Off
  BackDrop On: Color Backdrop 0
  Set Text Font "Verdana"
  Set Text Size 16
  Ink RGB(255,255,255),0
  Hide Mouse
Return
 
Decode:
  Create Bitmap 1,320,200
  TH=Text Height("A")
  Ob=1: Kern=0
  For I = 1 To Len(TextString$)
    ThisChar$=Mid$(TextString$,I)
    CLS: Text 0,0,ThisChar$
    TW=Text Width(ThisChar$)
    For Ny = 0 To TH-1
      For Nx = 0 To TW-1
        C = Point(Nx,Ny)
        If C <> 0
          Make Object Sphere Ob,1.5
          Color Object Ob, RGB(0,Ny*16,0)
          Position Object Ob,(Nx*.8)+Kern,0-(Ny*.8),0
        Endif
        Inc Ob
      Next Nx
    Next Ny
    Inc Kern,TW
    Sync
  Next I
  Set Current Bitmap 0
  Delete Bitmap 1
  Position Camera Text Width(TextString$)/2,5,0-Text Width(TextString$)*1.5
  Point Camera Text Width(TextString$)/2,0,0
Return
 
RotateCamera:
  X# = WrapValue(X# + 1.0)
  Z# = WrapValue(Z# + 1.0)
  Position Camera NewXValue(0,X#,Text Width(TextString$)*1.5),0.0,NewZValue(0,Z#,Text Width(TextString$)*1.5)
  Point Camera Text Width(TextString$)/2,0,0
Return