Modern Emacs/Elisp hardware/software accelerated graphics

Emanuel Berg (he/him) - Pronunciation: Swenglish, IRC: lacni, https://dataswamp.org/~incal, incal@dataswamp.org

Format: 23-min talk ; Q&A: BigBlueButton conference room Etherpad: https://pad.emacsconf.org/2025-graphics
Etherpad: https://pad.emacsconf.org/2025-graphics
Status: Q&A to be extracted from the room recordings

00:05.000 space box intro (elisp model matrix pipeline c dynamic module) 01:59.000 parallel (sdl/linux multicore pthreads) 02:04.000 bad snake (oop eieio) 03:30.000 solar (ecs) 04:32.000 60 fps 1 (opengl cpu) 05:36.000 earth (grid ascii) 06:02.000 studio (image unicode) 09:32.000 60 fps 2 (gpu) 11:57.000 rgb triangle (glsl vertex/fragment shaders) 13:09.000 ansi cube (software functional shader) 13:33.000 horizon (gradient) 15:16.000 shell color table (zsh) 16:13.000 luki-lisp (macros) 18:25.000 incal & rave dave outro (debug text triangles)

Duration: 22:15 minutes

Description

Modern graphics with Emacs with hardware/software acceleration

This video has no narration.

  • https://dataswamp.org/~incal/tmp/greeting.webm
  • https://dataswamp.org/~incal/tmp/kitty-vt.webm shows the software can be used from a -nw Emacs

  • didn't expect to see demos today

  • I was reminded of the demo scene by this presentation. https://scene.org/
  • does the demo show its code at some point?
    • It doesn't :/
    • https://dataswamp.org/~incal/bad-www/index.html
  • this has more than when I previewed it last. Wow!
  • So how to download the source from https://dataswamp.org/~incal/bad-el/src/ ?
  • maybe he likes to be mysterious

  • Q:So how to download the source from that site?

    • A: there is a link to src/ maybe I can do a tar ball for y'all. if so I'll put it in that dir
    • wget use -e robots=off if robots are a problem
    • https://dataswamp.org/~incal/bad-el/src/bad-el.tar.gz <-- there is a tarball you can download now.
  • Q: How do you get into demomaking?
    • A: never thought of it that way. is it different from other programming?

Transcript

[ This video has no narration. ]
[00:00:05.000] space box intro (elisp model matrix pipeline c dynamic module)
space box intro (elisp model matrix pipeline c dynamic module)
[00:01:59.000] parallel (sdl/linux multicore pthreads)
parallel (sdl/linux multicore pthreads)
[00:02:04.000] bad snake (oop eieio)
bad snake (oop eieio)
[00:03:30.000] solar (ecs)
solar (ecs)
[00:04:32.000] 60 fps 1 (opengl cpu)
60 fps 1 (opengl cpu)
[00:05:36.000] earth (grid ascii)
earth (grid ascii)
[00:06:02.000] studio (image unicode)
studio (image unicode)
[00:09:32.000] 60 fps 2 (gpu)
60 fps 2 (gpu)
[00:11:57.000] rgb triangle (glsl vertex/fragment shaders)
rgb triangle (glsl vertex/fragment shaders)
[00:13:09.000] ansi cube (software functional shader)
ansi cube (software functional shader)
[00:13:33.000] horizon (gradient)
horizon (gradient)
[00:15:16.000] shell color table (zsh)
shell color table (zsh)
[00:16:13.000] luki-lisp (macros)
luki-lisp (macros)
[00:18:25.000] incal & rave dave outro (debug text triangles)
incal & rave dave outro (debug text triangles)

Captioner: sachac

Questions or comments? Please e-mail incal@dataswamp.org