Very nice code here!
Btw. Slydog your FPS code must be wrong. Fraps says its 60 FPS, your counter says its 17 FPS.
This code is working correctly, just replace your function:
FUNCTION DisplayFPS: x%, y%
STATIC frames#, fps#
STATIC time1#, time2#
time1 = GETTIMERALL()
INC frames, 1000
IF time1 > time2
fps = frames/(time1-time2+500)
time2 = time1+500
frames = 0
ENDIF
PRINT "FPS: " + FORMAT$(3, 0, fps), x, y
ENDFUNCTION
Btw. is there a reason why you didnt use GENX_OBJ(), but created your own?
All in all its nice code, but it has much room to get bigger: currently only using color for cube type (texture is a bit limited, since uv are always set to same value for all sides), add automatic handling for chunks in chunks in chunks in... and it would be better (way faster) to render in native Opengl, not GLBasic, but its the best that we have seen so far and a really good base for further development (and considering that it was done such a short time!), I hope you will go on with this project.
EDIT: dreamerman was faster than me :/