Build a 2D or 3D game in Common Lisp using GLFW windowing and OpenGL rendering.
Load a Wavefront OBJ 3D model file directly into renderable geometry.
Add spatial, positional audio playback to a Lisp application using OpenAL bindings.
| edencompiler/lwlgl | licjon/clos-alchemy | wondermonger-daydreaming/latent-lisp | |
|---|---|---|---|
| Stars | 3 | 3 | 0 |
| Language | Common Lisp | Common Lisp | Common Lisp |
| Setup difficulty | moderate | hard | moderate |
| Complexity | 4/5 | 4/5 | 5/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires a CFFI-compatible Common Lisp setup plus platform native libraries like GLFW or OpenAL for the subsystems used.
LWLGL is a library for the Common Lisp programming language that gives developers low level access to graphics, audio, and compute hardware for building games and similar real time applications. It is modeled after LWJGL, a well known equivalent library for Java, and it does not try to be a full game engine. Instead it wraps several existing native libraries so Lisp programs can talk to them directly: GLFW for creating windows and reading input, OpenGL and Vulkan for rendering graphics, OpenAL for audio, OpenCL for general purpose computing on the graphics card, and stb_image for loading image files. The current stable release is version 1.0.0, which the author describes as the first release built around a new binding architecture rather than a claim of complete coverage of every one of these underlying libraries. Coverage varies by piece: GLFW support is described as substantial, OpenGL covers the core features needed to run the included examples but not every possible command, OpenAL supports practical playback and spatial audio, and Vulkan and OpenCL currently offer discovery and setup features rather than full command coverage. Beyond the raw bindings, LWLGL adds Lisp friendly helpers on top: math tools for vectors, matrices, and quaternions used in 3D graphics, keyboard and mouse input handling with named actions, a simple asset loading and caching system, a dependency free parser for Wavefront OBJ 3D model files, frame timing and profiling tools, and helper functions that connect these pieces together, such as loading a texture file straight into an OpenGL texture, or an OBJ file straight into renderable geometry. The library is organized into separate modules using Common Lisp's ASDF build system, so a project can load only the pieces it needs, for example just the math tools, or just the GLFW windowing bindings, instead of the whole library. It works across Windows, Linux, and macOS, and ships runnable example programs covering windowing, 3D rendering, procedural textures, instancing, and positional audio. The project is released under the MIT license and its documentation is available in both English and Brazilian Portuguese. The full README is longer than what was shown.
A Common Lisp library that gives developers direct low level access to graphics, audio, and compute libraries for building games.
Mainly Common Lisp. The stack also includes Common Lisp, CFFI, OpenGL.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.