Sign in

Andrew Meggs

@meggsomatic.tv
574 followers 1.4K following 220 posts

Rendering, game engines, scalability, gratuitous over-engineering || 💼 ̶A̶v̶a̶t̶a̶r̶ GenAI Assets @ Meta || ⌛ Skyrim, Vampire Bloodlines, Warhammer Online || 🌃 Occasional retro/indie toys || 👫 @shannonin3d.bsky.social (Slang/Vulkan/WebGPU/Khronos)

PostsRepliesMedia
Andrew Meggs @meggsomatic.tv · 20/08/2026
std::time is a notable footgun. The difference between two Instants is a Duration, and Duration is an unsigned magnitude, so subtracting Instants silently saturates to zero. At least one of these assertions will always fail:
fn youre_gonna_have_a_bad_time(
        a: std::time::Instant,
        b: std::time::Instant) {
    assert_ne!(a, b);
    assert_eq!(a + (b - a), b);
    assert_eq!(b + (a - b), a);
}
131
Andrew Meggs @meggsomatic.tv · 28/07/2026
Slowly accepting that my final form is going to look a lot like “But we have Cyber Rick Rubin at home...” so I figure I might as well read his damn book.
020
Andrew Meggs @meggsomatic.tv · 23/07/2026
A lighting environment like, on the walk between the main #SIGGRAPH Hall and the @khronos.org breakouts, is really just one giant nerd-snipe.
040
Andrew Meggs @meggsomatic.tv · 29/06/2026
My dudes, you're doing it entirely wrong.
010
Andrew Meggs @meggsomatic.tv · 27/06/2026
Shameless plug for all the places my wife's talking at #SIGGRAPH. (I'll also be talking, but only at the hotel bar and only about things better left unsaid.)
100
Andrew Meggs @meggsomatic.tv · 20/06/2026
The trouble with sanding green paint in a room with white trim is that during cleanup it's really hard to tell what's dusty and what's Cornell Box. #TheGraphicsAreGreatIRL
010
Andrew Meggs @meggsomatic.tv · 05/05/2026
New reading from @mtrc.bsky.social in the mail!
Cover of the book "Next Level: Making games that make themselves" by Mike Cook
120
Andrew Meggs @meggsomatic.tv · 03/01/2026
Oh. Oh no. I picked a distro that buries the lede until you commit to an install, then boom. Unironic anime catgirl as the mascot. Welp. In for a penny, guess this is who the Linux Desktop is by and for in 2026, etc. Might as well just embrace it.
110
Andrew Meggs @meggsomatic.tv · 03/01/2026
2026 is (yet again) probably not the year of the Linux desktop. But it IS the year of me getting so sick of my OS constantly trying to upsell me that I'm finally willing to try.
160
Andrew Meggs @meggsomatic.tv · 26/11/2025
“Dark role-playing masterpiece/dropped bag of spanners” is kind of my whole IRL personality, so that would totally track. @pcgamer.com www.pcgamer.com/games/rpg/22...
160
Andrew Meggs @meggsomatic.tv · 12/09/2025
Expectations are everything. If they'd just called it something like "VtM: Blood & Phyre", everybody would have been super enthusiastic to see how Chinese Room did their own modern take on WoD. Hope folks give this a shot for what it is, instead of raging at what it isn't — so there'll be more WoD.
010
Andrew Meggs @meggsomatic.tv · 25/07/2025
Aw shit. Here we go again.
010
Andrew Meggs @meggsomatic.tv · 31/05/2025
This is a disturbingly-substantial keyboard.
340
Andrew Meggs @meggsomatic.tv · 30/05/2025
Friendship ended with Gaussian Splats. Now Triangle Splats are my best friend.
1152
Andrew Meggs @meggsomatic.tv · 02/04/2025
Now for a bit of light PC Setup music. @masterbootrecord.bsky.social
020
Andrew Meggs @meggsomatic.tv · 31/03/2025
Reasonably confident that absolutely nothing good will come from this. #Apple2 #CRT
010
Andrew Meggs @meggsomatic.tv · 29/03/2025
Dammit. Anyone want to buy one lightly-used perfectly-working but-not-chroma-teal PS5 controller?
100
Andrew Meggs @meggsomatic.tv · 08/03/2025
A very retro font renderer was absolutely the most useful thing I could write this afternoon.
070
Andrew Meggs @meggsomatic.tv · 26/01/2025
Hi my wife @shannonin3d.bsky.social and I couldn't help but notice you from across the bar, and we were wondering about your dress's bidirectional reflectance distribution function...
070
Andrew Meggs @meggsomatic.tv · 23/01/2025
And now... #magfest
080
Andrew Meggs @meggsomatic.tv · 21/01/2025
@phobon.io Here you go. Fewer pixels. Party like it's 1979. #Apple2 #CRT
040
Andrew Meggs @meggsomatic.tv · 20/01/2025
Sniped by my own physics, I added rotational energy transfer. What's the point of Pong if you can't "Put English" on the balls and have them bounce accordingly? I did a WASM build of this checkpoint. Run it in your browser: meggsomatic.tv/balls_with_r...
181
Andrew Meggs @meggsomatic.tv · 20/01/2025
This little 230-page book from 1989 was such an important thing for me. Unashamedly technical, it documented the API by explaining how BSD implemented it. The specifics are obsolete but the conceptual framework has been a lasting foundation. 1/🧵
150
Andrew Meggs @meggsomatic.tv · 20/01/2025
Now I've got an Apple II analog CRT simulator and a modern physics engine. (Ho ho ho?)
270
Andrew Meggs @meggsomatic.tv · 20/01/2025
2025 is gonna be the Year Of The <ᴀᴅᴏʀᴀʙʟʏ ᴛɪɴʏ> Linux Desktop. I can feel it.
150
Andrew Meggs @meggsomatic.tv · 19/01/2025
OK, hear me out... #DecoyKeyboard
A typical computer desk with monitor and keyboard. The desk contains a second keyboard, not connected to anything. A housecat sits on the second keyboard. This cat's attention is thus diverted from the primary keyboard used to operate the computer, enabling enhanced typing productivity.
0100
Andrew Meggs @meggsomatic.tv · 16/01/2025
Got my analog CRT simulator built into something I can install on my Steam Deck with controller support. The change in form factor sparks joy — it just feels good in a visceral way. So about doing something more than color bars...
070
Andrew Meggs @meggsomatic.tv · 03/01/2025
Didn't have THUNDERSNOW in the forecast for today's dogwalk, but here we are.
060
Andrew Meggs @meggsomatic.tv · 29/12/2024
OK, here's the good stuff. CRT scanlines are blooming nicely. 🌸
010
Andrew Meggs @meggsomatic.tv · 29/12/2024
As promised, I did it myself. Moved my analog #CRT simulator into a #Slang shader, and now I can emulate an #AppleII display with Biblically-Accurate Color Fringes in Rust/Wasm/WebGPU. Thanks to @pineight.com for the original test pixels.
060
Andrew Meggs @meggsomatic.tv · 29/12/2024
Thanks for the test case! My scanlines are still completely distinct from one another, but within each scanline there's some nice subtlety to the color fringes that you can only get when modulating with a color carrier wave.
110
Andrew Meggs @meggsomatic.tv · 28/12/2024
I've been coding up an analog CRT sim, and it's been fun to see how different low-pass filters affect that. Here's "green" with a ringing Lanczos-1 filter on everything, contrasted with a tent filter for Y and a box filter for I+Q. (Bottom two rows of each image are the filter kernels.)
120
Andrew Meggs @meggsomatic.tv · 27/12/2024
Accidental mug of eye-hurting juice. I swear I'm going somewhere with this.
010
Andrew Meggs @meggsomatic.tv · 26/12/2024
3/🧵The Slang WASM backend emits "human-unfriendly" code for simple matrix uniforms. It works (modulo me making an *even* number of sign errors and accidental transpositions), but it's way less readable than it could be. But otherwise good stuff. Now to make something "real". 💀/🧵
010
Andrew Meggs @meggsomatic.tv · 26/12/2024
Got textures and uniforms into my Rust/Slang/WASM/WGPU project, with a bonus appearance from @shannonin3d.bsky.social on guitar. See meggsomatic.tv/first_textur... (may not play nice with Safari). Problems so far: 🧵
190
Andrew Meggs @meggsomatic.tv · 25/12/2024
Just unwrapped a ModRetro Chromatic, and I have to admit that regardless of any feelings on Palmer Luckey, the actual thing is an insanely nice physical object. 10/10 this was clearly built by someone who builds things for actual wars.
070
Andrew Meggs @meggsomatic.tv · 25/12/2024
And that's a wrap, *just* before the other creatures were stirring. Finished #AdventOfCode entirely in #RustLang. Thanks to @was.tl for making it. Thoughts on using Rust below...
1221
Andrew Meggs @meggsomatic.tv · 23/12/2024
Switched my #WebGPU project to @shader-slang.bsky.social so I don't have to learn WGSL. Much nicer syntax, though I did file a bug on the output. Don't know WGSL well enough to be sure it's not my error, but my wife tells me I'm right. github.com/shader-slang... Anyway here's Slang in a browser:
1182
Andrew Meggs @meggsomatic.tv · 18/12/2024
When #AdventOfCode makes it impossible to brute-force a solution, but the problem space is “only” a few hundred trillion and you work at a FAANG...
130
Andrew Meggs @meggsomatic.tv · 15/12/2024
📺 Better YIQ->RGB on my analog CRT sim. Got "correct" Apple II colors by driving input beyond spec from -1/16...+17/16, especially noticeable in the now-proper eye-hurtiness of the green. 🙃 Un-reversed in-phase and quadrature modulations. 🕸️ Now to merge w/ my WebGPU and we'll 2025 like it's 1977.
060
Andrew Meggs @meggsomatic.tv · 14/12/2024
"Christmas Tree" is under-specified.
090
Andrew Meggs @meggsomatic.tv · 14/12/2024
Compiling Rust to WASM to programmatically set the inline style on a <canvas> element seems wrong, yet still somehow less-wrong than actual CSS. Anyway, here's my #FirstTriangle in #WebGPU.
290
Andrew Meggs @meggsomatic.tv · 04/12/2024
Here we go! Just set peacock.surpriseMeOnStartup = true, and BOOM rainbow is the new black. Now I need an extension to do the same to Chrome based on a hash of the URL. marketplace.visualstudio.com/items?itemNa...
160
Andrew Meggs @meggsomatic.tv · 30/11/2024
The blueskyroast.com analysis of my wife is entirely accurate about the dating "red flags", but also those are why there was a second date.
050
Andrew Meggs @meggsomatic.tv · 30/11/2024
The trouble with EVERYTHING finally supporting dark mode is that we've lost the instant differentiation we had when only half the world supported dark mode. Now we need green mode and blue mode and orange mode so it's easy to tell thumbnails apart at a glance. #orangemodeisthenewdark
You see a twisty maze of thumbnails containing light text on dark backgrounds, all alike.
170
Andrew Meggs @meggsomatic.tv · 28/11/2024
After a bit of playing, I'm sold on a Lanczos-2 for the luma, and a box filter with quarter-phase smoothstep edges for the chroma. Just the right balance of 🌈 and 😶‍🌫️. And along the way my Rust code got way way less horrible, with proper structs, slices, zips, maps, and match expressions.
030
Andrew Meggs @meggsomatic.tv · 27/11/2024
No matter how many times I re-generate, "Craft Beer Nerds" consistently gives me a badger for the Knight, and I really want to know what hidden truth about badgers and beer nerds is lurking in the training data. labs.google/genchess
020
Andrew Meggs @meggsomatic.tv · 24/11/2024
It's super dependent on exactly how you low-pass filter the signals, too. I used a box filter as a first cut, which isn't physically plausible. Compare what different colors you get with a tent filter, for example. I need to experiment simulating some actual analog RC filter circuits, I think. 🛑/🧵
040
Andrew Meggs @meggsomatic.tv · 24/11/2024
Is the OTHER colors that get generated at the boundaries. Note the way the orange goes through green on its way to black, and the green goes through red. That only happens if you work with the actual carrier waves, but it's an subtly important part of the "look" of the screens of the time. 3/🧵
160
Andrew Meggs @meggsomatic.tv · 24/11/2024
Fun little learn-Rust project: Simulating analog CRT circuits to generate the colors of an Apple II. From top-to-bottom: 1. the "bits" in memory, which becomes... 2. a monochrome Luma signal at a higher frequency than the CRT wants, which gets... 3 & 4. multiplied by the Cr and Cb carrier waves... 🧵
1100