SetWindow "loading" hmap=LoadImage("heightmap.bmp") texmap=LoadImage("Terrain texture1.bmp") Dim map(512,512,2) Lock Image(hmap) For x=0 To 511 For y=0 To 511 map(x,y,1)=GetPixel2(x,y,Image(hmap))/70000 Next y SetWindow "loading"+Left("...",(x Mod 100)/ 30) Next x Lock Image(texmap) For x=0 To 511 For y=0 To 511 map(x,y,2)=GetPixel2(x,y,Image(texmap)) Next y SetWindow "loading"+Left("...",(x Mod 100)/ 30) Next x Unlock Repeat kulma-5 For x=0 To 511 'Step 3 For y=0 To 511 'Step 3 Color 0,0,map(x,y,2) d#=Distance(255,255,x,y) k#=WrapAngle(ATan((y-250)/Float(x-250.5))+kulma) If x>250 Then k-180 x2=Sin(k)*d y2=Cos(k)*d dot3d(x2,y2,map(x,y,1)+100) Next y SetWindow "drawing"+Left("...",(x Mod 30)/ 8) Next x DrawScreen Forever SetWindow "ready" WaitKey Function Dot3D( x#, y#, z# ) If z# > 0 Then Return 0 If z# = 0 Then z# = 0.01 p_s# = (1/z#)*100 sx = x# * p_s# + ScreenWidth()/2 sy =-y# * p_s# + ScreenHeight()/2 'Dot sx,sy 'Box sx,sy,Abs(p_s*3),Abs(p_s*3) s=-(p_s*3) s2=-(p_s*3)/2 Box sx-s2,sy-s2,s,s End Function