LuaJIT FFI bindings for GLFW 3 and OpenGL.
This library contains everything needed to start a basic OpenGL app in Lua.
LuaJIT-GLFW builds bindings from the systems OpenGL and GLFW headers, as well as an included glext.h file.
To build the bindings, you need to have a C preprocessor (only GCC is supported at the moment), headers for OpenGL and GLFW 3, and Python 3 installed, though the resulting
file should be cross-platform compatible.
To build with GCC, just run build.sh in the repository directory. This will create a glfw.lua file, which is the only file
you need to install.
To load the library, use the require function:
localluajit_glfw=require"glfw"LuaJIT-GLFW loads the following libraries:
luajit_glfw.gl: OpenGLluajit_glfw.glc:#defined values for OpenGL and GLFW (this must be a Lua table instead ofstatic constvalues, because OpenGL useslongsin a couple of places)luajit_glfw.glu: GLUluajit_glfw.glfw: GLFWluajit_glfw.glext: A table that, when indexed, loads and returns the specified extension function. Ex.glext.glMyExtFuncARB(p1, p2)
You can also use the following snippet to concisely localize the libraries.
localgl, glc, glu, glfw, glext=luajit_glfw.libraries()
-- Or if you just need the libraries:localgl, glc, glu, glfw, glext=require('glfw').libraries()Additionally, LuaJIT-GLFW wraps GLFW functions and sets metatypes for GLFW structs for convenience. See glfw_base.lua