Sign in

Ruben Osorio

@osor.io
346 followers 91 following 65 posts

Senior VFX/Graphics Programmer working @ Rockstar Games All posts/opinions/views my own :) Website at osor.io

PostsRepliesMedia
Ruben Osorio @osor.io · 12/06/2025
Video is still not Bluesky's forte eh? Here's a screenshot! 🙃
Image of a joke fake article over a blue background, it reads:

Breaking: Graphics Programmer Does Text Again!

The rabbithole police has been called to the codebase after sightings of an anonymous graphics programmer onanistically replacing their whole text rendering implementation.

'It's just a waste of time' said a witness of the large changelists submitted to the repository; "SDFs looked pretty good, I really don't understand" said a former colleage of the suspect.

An in-depth article will follow expanding on the alleged wrongdoings of the perpetrator.

More news at eleven.
160
Ruben Osorio @osor.io · 12/06/2025
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! 🧡
44812
Ruben Osorio @osor.io · 01/01/2025
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:
110
Ruben Osorio @osor.io · 01/01/2025
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 🙃
110
Ruben Osorio @osor.io · 31/12/2024
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)
130
Ruben Osorio @osor.io · 31/12/2024
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! 🙃 🧵
Bunch of blurry colours together, a fun bug while looking at strategies for resolving visibility buffer.
1100
Ruben Osorio @osor.io · 20/11/2024
Hmm, pretty yikes. Here's a screenshot for reference 🙃
Capture of the single video showed earlier. Just some text with some formatting and line wrapping.
010
Ruben Osorio @osor.io · 20/11/2024
🪦 for the 720p video. Bluesky was destroying the small/timeline version of it otherwise. Let's see how a 1440p one shows? 🤔
110
Ruben Osorio @osor.io · 20/11/2024
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 ❤️
140
Ruben Osorio @osor.io · 16/11/2024
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! 🙏
0313
Ruben Osorio @osor.io · 16/11/2024
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? 🍻🙃
3 graphics people drinking some “Texels” branded beer.
3414
Ruben Osorio @osor.io · 05/11/2024
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!
79931
Ruben Osorio @osor.io · 22/10/2024
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 😂
0110
Ruben Osorio @osor.io · 22/10/2024
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! 👋😄
183
Ruben Osorio @osor.io · 08/09/2024
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.
100
Ruben Osorio @osor.io · 08/09/2024
⌨️🙌 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 😄 🧵🧵🧵
160
Ruben Osorio @osor.io · 22/01/2024
🎮❄️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 🖼️
Image of Hallbox, a leverless controller
240
Ruben Osorio @osor.io · 01/12/2023
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!!
150