Ruben Osorio
osor.io
Ruben Osorio
@osor.io
Senior VFX/Graphics Programmer working @ Rockstar Games

All posts/opinions/views my own :)
Video is still not Bluesky's forte eh? Here's a screenshot! 🙃
June 12, 2025 at 4:46 PM
Hola again graphics peeps! 😊

I found myself with enough bits and pieces related to text rendering to warrant a write-up. So here it is! 😱

osor.io/text

Spiced up with direct vector rendering, sub-pixel anti-aliasing, run-time atlas packing, temporal accumulation, and more!

I hope you enjoy it! 🧡
June 12, 2025 at 4:22 PM
If you need the correct index per-thread, as you do when you're going to write the samples to the buffer, there's some more wave-ops involved, since you also need to calculate the local offset for each thread on the wave.

WaveReadLaneFirst/WavePrefixCountBits sorts you out, here is how it'd look:
January 1, 2025 at 3:11 PM
Oh! Also worth mentioning. In this sort of system you'll see a lot of contention when writing to shared counters.

It's a good idea to minimize this by doing the global write once per wave or group.

A neat trick is to also scalarize on the shader/draw for when a wave sees different values there 🙃
January 1, 2025 at 3:11 PM
Paying my respects with a video rendering 10% of the pixels each frame (hacking this in just now so turning all denoising and TAA off, no reprojection of "empty" pixels either 😜).

(Prepare for the bsky video butchering though)
December 31, 2024 at 2:37 PM
Tried a few ways to resolve a visibility buffer as a nightly adventure a few days ago 😄

So far my favourite I could come up with is collecting lists of pixels per shader, internally sorted per draw, then a dispatch indirect per shader scalarizing on the draw index.

Plus it can have cute bugs! 🙃

🧵
December 31, 2024 at 2:12 PM
Hmm, pretty yikes. Here's a screenshot for reference 🙃
November 20, 2024 at 11:18 PM
🪦 for the 720p video. Bluesky was destroying the small/timeline version of it otherwise.

Let's see how a 1440p one shows? 🤔
November 20, 2024 at 11:01 PM
Spent a wee bit implementing some 🫰 rich-ish 🫰 text with support for *bold* and _italic_ annotations plus some cheeky line wrapping.

Here's the beginning of a possible future post running through it 📄

Also "Look ma, no textures!" Just tracing them rays agaist them beziers ❤️
November 20, 2024 at 10:55 PM
Added a small section to osor.io/OIT about a neat way to avoid self-occlusion when sampling transmittance 😊 It came up in conversation enough times that it's worth updating instead of waiting for a new post ❤️

Also, some peeps asked for a clip with less & slower spheres intersecting so here it is! 🙏
November 16, 2024 at 8:23 PM
Graphics Programming Conference was incredible ❤️

So many notes to go through, ideas to investigate, people to talk to and games to play! 🔥

Thank you so much to the organizers and all the attendees, it was such a pleasure to meet you all 😊

Can we have Texels sponsor next year though? 🍻🙃
November 16, 2024 at 1:55 PM
Hola graphics people! ❤️

I've been meaning to do some write-ups that are hopefully useful, so this first one is about my approach to Order-Independent Transparency.

osor.io/OIT

🙌Super excited to finally release this!🙌

I hope you enjoy it!
November 5, 2024 at 6:34 PM
If anyone stumbles in here, I like to partake in some cheeky programming at home and I would like to share a bit more of it ❤️ More than *nothing at all* which is the amount right now 🙃

The intention is to do a bit more blogging soon too 🤞

Here's a old meshlet culling video for eye candy 😂
October 22, 2024 at 8:29 PM
Happy to see more of the graphics community here 😊

Perhaps I should be posting a little bit more, and over the past few days I've been bitten by the text rendering bug again so... here's a video saying hi! 👋😄
October 22, 2024 at 8:01 PM
Took a few iterations of writing the firmware and testing it to get it feeling well but we got there in the end.

These STM microcontrollers have a super nice software stack which makes getting something up and running and testing it very comfortable.
September 8, 2024 at 10:57 AM
⌨️🙌 Hall Effect on an Alice layout! 🙌⌨️

Seems like hall effect/magnetic keyboards have become all the rage but I was sad that there was no options I could find for my favourite layout. So... here we are making a PCB and writing some firmware 😄

🧵🧵🧵
September 8, 2024 at 10:56 AM
🎮❄️Late Christmas project post!❄️🎮

A controller with hall-effect sensors, custom firmware, PCB and case. With a funky layout too 🙃

Been playing fighting games with this since and I've been really enjoying it! Here's some pics 🖼️
January 22, 2024 at 7:21 PM
Hey Bluesky! I guess this is good timing for an introduction 🥰 I'm a Senior VFX/Graphics Programmer working @ Rockstar North.

And I'm also really excited for everyone to see this little thing on December 5th 😊 Hope you like it!!
December 1, 2023 at 5:53 PM