Slightly modified version of Attreid's code as some of the commands are 1 pixel out. (hope you don't mind)
I do notice that on in this example the textures go a bit blocky close up but that is only because of the colouful gradients. Most textures are not this detailed.
+ Code Snippetset display mode 1024,768,32
sync on
sync rate 50
randomize timer()
create bitmap 1,128,128
hide mouse
set current bitmap 1
box 0,0,64,64,rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255))
box 64,0,128,64,rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255))
box 0,64,64,128,rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255))
box 64,64,128,128,rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255)),rgb(rnd(255),rnd(255),rnd(255))
get image 1,0,0,128,128
set current bitmap 0
make matrix 1,1000,1000,50,50
randomize matrix 1,20
prepare matrix texture 1,1,2,2
for x=0 to 49
for z=0 to 49
set matrix tile 1,x,z,rnd(3)+1
next z
next x
update matrix 1
position camera 500,0,500
filter=1
set matrix 1,0,0,1,filter,1,1,1
do
set cursor 0,0
print "Screen fps > ",screen fps()
print "Filter number ",filter
print "Press the keys 0, 1 or 2 to change it."
if upkey()=1 then move camera 0.3
if downkey()=1 then move camera -0.25
if leftkey()=1 then turn camera left 5
if rightkey()=1 then turn camera right 5
position camera camera position x(),get ground height(1,camera position x(),camera position z())+4,camera position z()
sync
i$=inkey$()
if i$="0" or i$="1" or i$="2"
filter=asc(i$)-48
set matrix 1,0,0,1,filter,1,1,1
update matrix 1
endif
loop