El-gpu and pix-el: GNU Emacs 2D and 3D game programming
Emanuel Berg (he/him) - Pronunciation: Swenglish, IRC: lacni, incal@dataswamp.org
The following image shows where the talk is in the schedule for Sun 2026-12-13. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
Format: 20-min talk ; Q&A: BigBlueButton conference room https://media.emacsconf.org/2026/current/bbb-el-gpu.html
Etherpad: https://pad.emacsconf.org/2026-el-gpu
Discuss on IRC: #emacsconf
Status: Waiting for video from speaker
Sunday, Dec 13 2026, ~9:10 AM - 9:30 AM MST (US/Mountain)
Sunday, Dec 13 2026, ~8:10 AM - 8:30 AM PST (US/Pacific)
Sunday, Dec 13 2026, ~4:10 PM - 4:30 PM UTC
Sunday, Dec 13 2026, ~5:10 PM - 5:30 PM CET (Europe/Paris)
Sunday, Dec 13 2026, ~6:10 PM - 6:30 PM EET (Europe/Athens)
Sunday, Dec 13 2026, ~9:40 PM - 10:00 PM IST (Asia/Kolkata)
Monday, Dec 14 2026, ~12:10 AM - 12:30 AM +08 (Asia/Singapore)
Monday, Dec 14 2026, ~1:10 AM - 1:30 AM JST (Asia/Tokyo)
Description
In this project, prepared especially for EmacsConf 2026, two modules -
el-gpu and pix-el - for graphics on-board the GPU and CPU,
respectively - have joined forces and been adapted to the newly added
canvas format, an exciting new feature included in vanilla GNU Emacs.
In this video we show no less than three games - a snake clone, which operates on a per-pixel basis; a Tetris game, with tiles loaded on the fly from any visual creation even as it only exists in drawing program, still a dynamic, editable object; and a Descent-like space shooter, powered-up by SDL and OpenGL, executing part CPU-side Emacs Lisp (Elisp), part CPU-side dynamic module C, and part all-GPU GLSL.
el-gpu and pix-el, like their predecessor, bad.el (boxing after dark),
which was demonstrated at EmacsConf 2025, comes with an interactive
studio, that has its own UI; it offers OOP-style drawing, as well as
explicit pixel-plotting, with layerjs, procedural shaders, functional
alpha masks, and RGB bitwise blenders, including for transparency;
with image editing, effects, rotation, and transformation, with new
idiomatic GNU Emacs lisp, e.g. the with-pixels macro; also offering
several ways of drawing text on the CPU as well as GPU; and much more.
https://dataswamp.org/~incal/el-gpu
Questions or comments? Please e-mail emacsconf-org-private@gnu.org
