lol, if you know anything at all it would be a help
Of course, knowing how to use both OGL and Lua with FreeBasic would also be a big help with finding bugs in the "luagl.bas" source file, but as long as you can show me that the FBlua OGL functions aren't working like they should then I'll have a good starting point to know where to look for errors
note - the "luagl.bas" source file is my attempt to translate the original C source code for LuaGL - with some modifications. For one thing, in the original C code they had it looping through an array in order to match up a string argument with the values of the OGL flag, in my version I've changed it by putting the actual values of the flags into variables in the lua VM for quicker access. I have been wondering though if I should change the way I have it now and put the flags into the gl table with the functions -i.e. use gl.PROJECTION or gl.MODELVIEW instead of GL_PROJECTION or GL_MODELVIEW, etc...
In addition to my translated/modified code, "luagl.bas" also still contains the original C functions (commented out) for reference.
*edit*
Well, it looks like the display lists work

this is the nehe example included in the archive, but modified to use display lists:
--
-- This is a FBlua port of the FreeBasic port of NeHe lesson 4
--
-- Go to http://nehe.gamedev.net for his other great OpenGL tutorials!
rtri = 0
rquad = 0
screen.res(648,480,32, 1, FB.GFX_OPENGL, FB.GFX_MULTISAMPLE)
gl.Viewport(0, 0, 640, 480)
gl.MatrixMode(GL_PROJECTION)
gl.LoadIdentity()
gl.Perspective(45.0, 640.0/480.0, 0.1, 100.0)
gl.MatrixMode(GL_MODELVIEW)
gl.LoadIdentity()
gl.ShadeModel(GL_SMOOTH)
gl.ClearColor(0.0, 0.0, 0.0, 1.0)
gl.ClearDepth(1.0)
gl.Enable(GL_DEPTH_TEST)
gl.DepthFunc(GL_LEQUAL)
gl.Hint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST)
triangle = gl.GenLists(2)
gl.NewList(triangle, GL_COMPILE)
gl.Begin(GL_TRIANGLES)
gl.Color({1.0, 0.0, 0.0})
gl.Vertex(0.0, 1.0, 0.0)
gl.Color(0.0, 1.0, 0.0)
gl.Vertex(-1.0, -1.0, 0.0)
gl.Color(0.0, 0.0, 1.0)
gl.Vertex(1.0, -1.0, 0.0)
gl.End()
gl.EndList()
square = 2
gl.NewList(square, GL_COMPILE)
gl.Begin(GL_QUADS)
gl.Vertex(-1.0, 1.0, 0.0)
gl.Vertex(1.0, 1.0, 0.0)
gl.Vertex(1.0, -1.0, 0.0)
gl.Vertex(-1.0, -1.0, 0.0)
gl.End()
gl.EndList()
while not mKey(SC.ESCAPE) do
gl.Clear(GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT)
gl.LoadIdentity()
gl.Translate(-1.5, 0.0, -6.0)
gl.Rotate(rtri, 0, 1, 0)
gl.CallList(triangle)
gl.LoadIdentity()
gl.Translate(1.5, 0.0, -6.0)
gl.Color(0.5, 0.5, 1.0)
gl.Rotate(rquad, 1, 0, 0)
gl.CallList(square)
rtri = rtri + 0.2
rquad = rquad + 0.15
screen.flip()
end