les global var's
Code: Select all
''bluatigro 13 may 2017
''3d turtle graphics
#include "_open_gl_dbl.bas"
sub tree( i as integer , prog as string _
, f as double , x as double , y as double , z as double )
dim q as integer
if i > 0 then
for q = 1 to len( prog )
select case mid( prog , q , 1 )
case "f"
setbox 0 , 1 , 0 , .3,1,.3
cilinder 6 , .3*f , .3*f , 0 , 0
gltranslated 0 , 2 , 0
case "g"
gltranslated 0 , 2 , 0
case "["
glpushmatrix
case "]"
glpopmatrix
case "X"
glrotated x , 1,0,0
case "x"
glrotated -x , 1,0,0
case "Y"
glrotated y , 0,1,0
case "y"
glrotated -y , 0,1,0
case "Z"
glrotated z , 0,0,1
case "z"
glrotated -z , 0,0,1
case "b"
glscaled f,f,f
tree i - 1 , prog , f,x,y,z
case else
end select
next q
end if
end sub
dim as double angle
camara.z = 10
camara.y = 3
do
glclear gl_color_buffer_bit or gl_depth_buffer_bit
camara.use
glrotated angle , 0,1,0
tree 7 , "f[xyb]zXyb" , .7,45,80,0
angle += 5
sleep 40
flip
loop while inkey = ""