I find it weird today that we are still fascinated by video wall papers.This was literally my first hack I did in high school in 2005. Doing something I’d never seen done before, a video wallpaper.
Step one, grab a handle to the video memory serving the wall paper. My “game trainer cheats” experience served me well. That was easy.
I had to figure out the hard way that per pixel calculations are extremely CPU taxing, the YUV to RGB video color space conversion. With a pirated Intel compiler I could get the naive blit into memory videy background working.
But then I wondered how other video apps were working so efficiently?
They used a GPU overlay! How it worked is you’d designate a color on your screen as the overlay color, and, when the screen was rendered, any pixel that was the overlay color was swapped with the full screen rendered video. I forget the specifics, it was some directX api. So, set the wallpaper to the hottest hot pink, run the renderer, and bobs your uncle, video wallpaper.
Everyone I showed this to was amazed, I really though I was on to something! Trouble was, I couldn’t get the damn thing to run on other people’s computers!
Little did I know or understand about the dreaded VCruntime redistributable. It wasn’t until 10 years later when I started working in industry I learned about “software distribution”. Linux makes it too easy, windows makes it too hard, static linking everything that isn’t network facing is probably the right approach.
I was so annoyed when Vista had the video wallpaper feature. “Man I was doing this years ago!”.