Rem ***** Random Trees On Matrix Demo ******
Rem (c) TDK_Man April 2007
Gosub Setup
Gosub RandomTrees
Do
Mc=MouseClick()
CX#=Camera Angle X(): CY#=Camera Angle Y(): CZ#=Camera Angle Z()
CY#=Wrapvalue(CY#+mousemovex())
CX#=Wrapvalue(CX#+mousemovey())
Rotate Camera CX#,CY#,CZ#
If Mc=1 Then Move Camera 10
If Mc=2 Then Move Camera -10
Sync
Loop
RandomTrees:
For N=1 to 400
Make object Cone N,32
Scale Object N,100,300,100
Color Object N,RGB(0,200,0)
TreeX = Rnd(MatWidth-600)+300
TreeZ = Rnd(MatWidth-600)+300
TreeY = Get Ground Height(1,TreeX,TreeZ)+70
Make object Cylinder N+400,8
Scale Object N+400,100,300,100
Color Object N+400,RGB(60,40,0)
Position Object N,TreeX,TreeY,TreeZ
Position Object N+400,TreeX,TreeY-60,TreeZ
Next N
Return
Setup:
Set Display Mode 800,600,16
Sync On: Sync Rate 0: CLS 0
AutoCam Off
Randomize Timer()
rem Make a 3D landscape
MatWidth = 10000
MatHeight = 10000
MAKE MATRIX 1,MatWidth,MatHeight,25,25
Create Bitmap 1,320,200
CLS RGB(100,80,0)
Get Image 1,0,0,128,128
Set Current Bitmap 0
Delete Bitmap 1
PREPARE MATRIX TEXTURE 1,1,1,1
RANDOMIZE MATRIX 1,100.0
Return
TDK_Man