Rubén Osorio

3.6K posts

Rubén Osorio

Rubén Osorio

@osor_io

Senior VFX/Graphics Programmer ⌨️ Working @ Rockstar North All posts/opinions/views my own :)

Edinburgh, Scotland Katılım Mayıs 2011
696 Takip Edilen1.1K Takipçiler
Rubén Osorio
Rubén Osorio@osor_io·
Hello graphics Twitter! 🧡 My colleague Daniil Smoliakov is looking for new opportunities! He's one of the most talented and tireless people I've ever seen at work so he deserves the praise 😊 Try and get him while you can! 🏃💨 linkedin.com/in/daniil-smol…
English
0
2
4
929
Rubén Osorio
Rubén Osorio@osor_io·
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, temporal accumulation, etc. I hope you enjoy it!🧡
English
7
22
89
6K
Mario Zechner
Mario Zechner@badlogicgames·
Wonderful, exceptionally well written read on glyph rendering on the GPU. osor.io/text
English
1
0
8
634
Rubén Osorio
Rubén Osorio@osor_io·
Cross-posting here for visibility, a better place to leave a comment is either "the website where the sky is blue" 🔵🌆 or the one that has has an elephant as a logo 🐘
English
0
0
3
595
Rubén Osorio
Rubén Osorio@osor_io·
@caxieyou Hey! Sorry if I didn't understand the question 🙏 It would return the integral of the transmittance in front of the depth provided. In my case it would be a call to evaluate_transmittance_wavelets with the proper coordinates and coefficient texture.
English
0
0
0
140
caxieyou
caxieyou@caxieyou·
@osor_io just finish reading the blog. Awesome work. One small question. What the function “sample_transmittance”’s detail?
English
1
0
0
169
Rubén Osorio
Rubén Osorio@osor_io·
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!
English
6
74
337
29.4K
Rubén Osorio
Rubén Osorio@osor_io·
@matiasgoldberg @never_released What you said originally is still true. You can't make a proper "mutex" this way. I do think you can make a CAS loop though. I'll give it more thought after some sleep and correct here if I see any mistakes 🙏
English
0
0
1
111
Rubén Osorio
Rubén Osorio@osor_io·
@matiasgoldberg @never_released But in this case, there's no missing "unlock". One contending thread should succeed and the rest should try again If it was the case that internally the CAS is doing this, it could just deadlock with a single call, no loop, which would make the instruction unusable.
English
1
0
0
151
Rubén Osorio
Rubén Osorio@osor_io·
@matiasgoldberg @never_released I see, I can see the cases where you try and do single-thread locks. That'd fail if the lock is divergent and the whole wave is forced to wait I imagine. But in the case of a single compare-exchange in a loop, I don't see what causes the lack of progress everywhere 🤔
English
1
0
0
76
Rubén Osorio
Rubén Osorio@osor_io·
@matiasgoldberg @never_released The [0; 32) modifications from A and the [32; 64) modifications from B did succeed though right? Those could be masked out of execution and next iteration (or few iterations) the rest of the threads get to try and progress.
English
1
0
0
68
Matías N. Goldberg
Matías N. Goldberg@matiasgoldberg·
@osor_io @never_released A & B constantly spin because they're stepping on each other. If A's 64 threads were all to update the resource before B gets a chance, they will get out of the loop. But if not, the loop may never end.
English
2
0
0
143
Rubén Osorio
Rubén Osorio@osor_io·
@matiasgoldberg @never_released If I think through the case where threads would do an "traditional" lock, if they diverge in succeeding the whole wave wouldn't ever continue since they require to go in lockstep (in older archs) But is this a case of a lock-modify-unlock internally that makes that happen then?
English
0
0
0
115
Rubén Osorio
Rubén Osorio@osor_io·
@matiasgoldberg @never_released Could you elaborate on how this makes two separate threads continuously make each other fail? I'm not seeing how at least one of them doesn't end up writing the value and stops contending. (But it's late on the UK and I'm not 100%😄)
English
2
0
0
185
Rubén Osorio
Rubén Osorio@osor_io·
@never_released @matiasgoldberg If you know of resources to read-up on how this actually executes on the different GPU architectures I'd love to take a look. Most of the knowledge on this kind of stuff ends up otherwise coming from slamming face-first into the problem😁
English
2
0
0
214
Longhorn
Longhorn@never_released·
@matiasgoldberg @osor_io Volta onwards and basically all modern Malis (who also implement a per lane program counter)
English
2
0
2
279
Rubén Osorio
Rubén Osorio@osor_io·
I made it compatible with the Maja V2 case I already loved, but I'm now getting pretty tempted to design a 3D-printable case so I can have more of these😅These SLS prints look very nice. My current keyboard now looks... exactly as it did before! But with different guts😁
English
1
0
5
1.1K
Rubén Osorio
Rubén Osorio@osor_io·
⌨️🙌 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 😄 🧵🧵🧵
Rubén Osorio tweet mediaRubén Osorio tweet mediaRubén Osorio tweet media
English
3
4
19
3K