Channel Avatar

sphaerophoria @UCXzL31BCxf8En1KT34gSK6g@youtube.com

25K subscribers - no pronouns :c

Building square wheels to better appreciate the round ones.


02:21:08
Pixel perfect bezier curves
02:37:17
Extracting glyphs from a font file (it's not easy)
02:25:48
Font files are kinda whack
02:22:12
Generating 3D geometry to draw a 2D picture
02:07:36
Distance fields, paintbrushes, shaders, and OpenGL hell
01:42:47
Auto-generating UI for editing shader uniforms
01:56:50
I wrote an image editor to make this thumbnail
02:32:06
Scaling items in my image editor was way harder than I expected
02:10:15
My love hate relationship with coordinate transforms
02:52:43
Implementing cut/paste for my image editor
02:04:27
Our image editor is starting to resemble something useful
02:20:16
Using GIMP is hard. Writing my own GIMP from scratch is easy.
01:57:00
The linux clipboard is kinda whack
01:31:57
Our PNG decoder actually works
02:17:42
Our PNG decoder is better, but not good
02:14:53
I wrote a cursed PNG decoder
03:05:19
The end of the GPU saga
02:10:06
My GPU rendered it's first 3D opengl app (poorly)
01:59:11
Our gpu's first attempt at a real 3d opengl pipeline (owie)
02:09:28
Perspective corrected triangle interpolation
02:05:50
The one with barycentric coordinates
03:33:37
Happy hour: Massive XML parser internal improvements
01:43:41
40 days later, our fake GPU finally drew a triangle
01:40:43
My GPU driver finally ran a shader on some vertices
01:59:09
Compiling glsl to... json?
02:20:37
An interpreter for GPU shaders
01:16:35
The simplest GPU paging algorithm
01:34:20
My software lets me re-watch tv shows now :)
02:02:05
I can't watch TV until I write more code
02:04:41
Exposing GPU memory to userspace
01:28:12
OpenGL actually does something on my (virtual) GPU
02:21:06
Implementing our first OpenGL functions in mesa
02:02:14
Implementing OpenGL for my fake GPU (part 1)
01:54:32
How I investigate a large scary codebase
02:01:20
I implemented 3D acceleration for my fake GPU (it's not very good)
02:50:44
Writing an XML parser to regain some sanity
02:59:18
This is why we 10x our estimates
02:05:30
Transferring vertex data to our virtual GPU
02:12:51
Our GPU driver actually works, that's insane
03:10:08
As far as userspace can tell, our GPU driver works great
02:01:37
My GPU driver keeps crashing (which is good!)
02:21:42
Buckle up, we're writing a GPU driver
02:35:10
Happy hour: Speedrunning 3d model rendering in opengl
02:09:33
GPU acceleration in our wayland client with dma buf
03:29:05
Trying to share GPU buffers between processes
02:09:45
Our wayland client actually works!
02:52:15
My computer writes my code for me now
02:30:09
How the heck does wayland work?
02:00:25
Writing a virtual PCI device + driver from scratch in 2 hours and 23 seconds
02:32:42
Raw dogging linux graphics (DRM)
02:43:57
This QML GUI is actually pretty sick
01:57:44
Spending way too long handling input to our integrated terminal
02:23:50
How to embed a terminal emulator in your application
02:21:41
World's simplest QML app in zig?
02:58:08
Strange segfault sends previously sane man into the insane asylum
02:46:25
I wrote a virtual machine to figure out what line of code is executing
01:56:54
There's a program hidden in this dwarf info somewhere...
02:35:16
We figured out how debuggers print variable info
02:03:08
The DWARFs in the computer know so much about the ELFs
01:59:00
Debugger break points are a lot like line dancing