MoonGLFW: Lua bindings for GLFW
MoonGLFW is a Lua binding library for GLFW.
MoonGLFW is part of the MoonLibs collection of Lua libraries for graphics and audio programming.
Author: Stefano Trettel
MIT/X11 license (same as Lua). See LICENSE.
See the Reference Manual.
Getting and installing
Setup the build environment as described here, then:
$ git clone https://github.com/stetre/moonglfw $ cd moonglfw moonglfw$ make moonglfw$ make install # or 'sudo make install' (Ubuntu and MacOS)
NOTE: Vulkan support requires GLFW version >= 3.2, and the Vulkan loader (libvulkan.so) to be in the linker's search path at runtime (see MoonVulkan's installation instructions for more details).
-- Script: hello.lua glfw = require("moonglfw") -- Create a window: window = glfw.create_window(640, 480, "Hello world!") function my_callback(w, x, y) assert(w == window) print("cursor position:", x, y) end -- Register a callback to track the cursor's position: glfw.set_cursor_pos_callback(window, my_callback) -- Repeatedly poll for events: while not glfw.window_should_close(window) do glfw.poll_events() end
The script can be executed at the shell prompt with the standard Lua interpreter:
$ lua hello.lua
Other examples can be found in the examples/ directory contained in the release package, and in the MoonLibs repository.