back
user profile
raphlinus
13,685karma·1,846submissions·March 7, 2014
about
I do research on fundamental UI technology and 2D graphics, with a focus on Rust and fonts.
@raph@mastodon.online
recent activity (1,846 total)
comment
Amen brother.
comment
As with most such things, there is considerable nuance to this question. If you're careful with your dependencies and optimizing for compile time, it can be quite good. For example, a clean relea…
comment
Game Programming Patterns, by Bob Nystrom. Foundations of Game Engine Development (4 volumes), by Eric Lengyel.
comment
Before going to grad school, I was socially quite isolated, partly as a function of being labeled as gifted, partly growing up in a pretty rural area. Going to grad school let me be among a cohort of …
comment
To me, the single biggest opportunity is performance. There's a lot that can be done if you optimize for that: plumb incremental computation through the pipeline from the app logic all the way to…
comment
I'd love to see work along these lines, and hope to talk with Cart soon. However, I'm stretched thin as it is, so certainly won't be leading any such integration work. My main goals for…
comment
I would say the most likely reason is that 2D graphics is just plain hard. Jasper's classic essay[1] goes into more detail. That said, I'd really love to see more stuff along the lines of wh…
comment
Oh yes, and I probably should have mentioned that as well. I've been talking to the developers but haven't checked in lately. I'll take another look, thanks.
comment
It's possible you ran into problems with large pathtags, fixed by [235], but that hasn't been merged yet. With that and some other tweaks (we still have to manually adjust buffer sizes, but …
comment
Duh, sorry about that.
comment
These things are hard, and I don't want to discount any of it. But three observations. First, browser engines do reimplement most of this stuff, though that's been an evolution, it used to…
comment
Yes, that's the correct link. For those not following closely, it used to be piet-gpu, but we changed the name since it's not based on the Piet API any more, and the new WGSL shaders are bas…
comment
I really enjoyed this. I use a 5700 XT (RDNA 2) as my one of my main development GPUs, and appreciate its particular strengths, and because of this article am quite tempted to get an RDNA 3 card. A fe…
comment
I had a nontraditional background, and was labeled as a gifted kid. At your age, my dad and I were trying to get a software company off the ground, based around products I had created. That was a mixe…
comment
I am curious about doing the same kind of thing for compute shaders. I'm aware of Kompute.cc (which is Vulkan based) but haven't looked at their GEMM kernels, and also of wonnx for WebGPU ([…
comment
It's a super good question. I would say two things here. First, defining the ideal aesthetics is a really hard problem. When you start listing the various properties of curves (basically chapte…
comment
I am. It is relevant to the topic, and I cite it in the (now two year old) outline for the blog post I intend to write on the topic[1]. I'll point out that Yuksel's spline is not closed unde…
comment
I spent a couple days around the new year fiddling with my "hyperbezier" idea, which is a project to make a curve family better suited to creative graphics (including font design) than Bézie…
comment
One of my main resolutions is not to write a programming language for GPU compute shaders. I've written a bit more about my 2023 wishes here: https://raphlinus.github.io/personal&…
comment
Aw thanks. It remains a life goal to write a book on 2D graphics, including text layout and rendering, but I don't see any way to find time for it in the next year at least. Meanwhile I do have s…
comment
By "shaping across space" I mean that the shapes of the words might be very different depending on whether there's a space or whether they're on second lines. That basically doesn&…
comment
No. Most line breaks in English are at spaces, and the Computer Modern fonts don't have any complex shaping behavior across spaces (it's mostly complex scripts such as Nastaliq that have thi…
comment
A clarification: Druid proper uses the text layout capabilities of the platform (DirectWrite on Windows, Core Text on macOS, and Pango on Linux), while Xilem does indeed use Parley. Lapce uses a fork …
comment
Sure! I have blogged about this[1], but I'll summarize here. Basically a barrier helps you do a "message passing" pattern, where one workgroup prepares some data then sets a flag, and a…
comment
DirectX12 has ok compute capabilities, but is increasingly being left in the dust by Vulkan. It doesn't have pointers or a memory model, but it does have device scoped barriers (which Metal lacks…
comment
Do not nerd snipe me! There's tons of juice left on the CPU side. Again I recommend Metamath Zero (which is somewhat of an opposite direction as HoTT), as it's able to check the entire Met…
comment
Nice work finding this indeed! This sounds like it could become a nice story for Coffeezilla. It's increasingly looking to me like it's an outright scam. Strange that it's for such low …
comment
From my world: * WebGPU will ship but early adoption will be slow. * Stable Diffusion will run on WebGPU. * Rust adoption will accelerate rapidly; C++ increasingly for legacy code only. * Rust will al…