Create (or load) your circle image then use
Prepare Matrix Texture to cut it into the same X and Z dimensions of the matrix.
Then use nested
For..Next loops to tile the matrix.
Using this method, the circle will always follow the contours of the matrix. Note: The bigger the image used, the better the matrix quality.
Rem How to apply a single image to a matrix by TDK_Man March 2003
Sync On
CLS 0
Set Camera Range 1.0, 200000.0
Hide Mouse
Make Matrix 1,10000,10000,70,70
Load Image "image1.jpg",1
Prepare Matrix Texture 1,1,70,70
Position Camera 5000,8000,-1000
Point camera 5000,0,5000
t=1
For z=69 to 0 Step -1
For x=0 to 69
Set Matrix Tile 1,x,z,t
Inc t
Next x
Next z
Update Matrix 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#
Rem Use left mouse button to move forwards
If MouseClick()=1
GH#=Get Ground Height(1,Camera Position x(), Camera Position z() )
Move Camera 40
If camera position y()<GH#+150.0
Position Camera Camera Position X(),GH#+150.0,Camera Position z()
Endif
Endif
Rem Use right mouse button to move backwards
If MouseClick()=2
GH#=Get Ground Height(1,Camera Position x(), Camera Position z() )
Move Camera -40
If camera position y()<gh#+150.0
Position Camera Camera Position X(),gh#+150.0,Camera Position z()
Endif
Endif
Sync
Loop
The above snippet was written in DBC, but should work fine in DBP. If not, it should be enough to point you in the right direction...
TDK