frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Rendering Fonts Quickly on the GPU

https://www.outercloud.dev/blogs/webgpu-font-rendering/
18•outercloud•1w ago

Comments

outercloud•1w ago
I've been working on a WebGPU animation renderer and at some point I needed to implement font rendering. Wanting the technical challenge I elected to try implementing a new method I had heard about which actually comes from a recently expired Microsoft patent! I get a bit into spline rendering and a super cool idea about how to render curves efficiently on the GPU.
skrellm•6d ago
Small correction, you're wrong about the details.

You say ttf and otf are the same, but that's not true, one utilizes quadratic curves, the other cubic curves. Also one is patented, the other isn't (most notably its bytecode vm).

Also, you say curve and spline is the same. They are not. Spline is a series of curves where you don't store the starting points, because those are the same as previous curve's ending points. So a spline requires less space to store than a list of the same curves, hope this makes sense to you.

I've also implemented a very fast font renderer, which supports bitmap, pixmap, quadratic and cubic curves, even mixed. I took a different path though: I've designed a very efficient font format, and provided a tool to convert ttf, otf, ps, etc. fonts into that format. This way the computational heavy parts are done beforehand, and the renderer can be small and fast (it's just a single header library, with source of 32k).

https://gitlab.com/bztsrc/scalable-font2

Using GPU for rasterizing is a good idea, but my font renderer is extremely portable so it's deliberately dependency-free and uses CPU integer arithmetic only. So it had a different design goal than yours, but still, it might be useful to study and it might give you ideas on further optimizations.

outercloud•6d ago
Good point. I should clean up the references between splines and curves to be more explicit. However, I think perhaps the oft and ttf point isn't relevant since I specifically say they are almost the same, and the specific details are exactly relevant so I left them out to avoid confusion.

Cool library and CPU integer arithmetic only is interesting.

Qwen-Image-3.0: Rich Content, Authentic Details, Deep Knowledge

https://qwen.ai/blog?id=qwen-image-3.0
47•ilreb•56m ago•21 comments

Incremental – A library for incremental computations

https://github.com/janestreet/incremental
192•handfuloflight•5h ago•33 comments

Who's afraid of Chinese models?

https://stratechery.com/2026/whos-afraid-of-chinese-models/
633•mfiguiere•22h ago•429 comments

Linux kernel will support $ORIGIN, sort of

https://fzakaria.com/2026/07/20/linux-kernel-will-support-origin-sort-of
41•ingve•3h ago•19 comments

Running Doom on Our Custom CPU and Going Viral

https://www.armaangomes.com/blogs/doom/
69•arghunter•5h ago•13 comments

Kimi Work

https://www.kimi.com/products/kimi-work
548•ms7892•16h ago•236 comments

Jelly UI: Soft-body physics for native HTML form controls

https://jelly-ui.com/
494•baldvinmar•16h ago•155 comments

Human mathematicians are being outcounterexampled

https://xenaproject.wordpress.com/2026/07/20/human-mathematicians-are-being-outcounterexampled/
344•artninja1988•14h ago•139 comments

Arduino Launches Plug-and-Play Modules for Long-Range Sensor Projects

https://www.allaboutcircuits.com/news/arduino-launches-plug-and-play-modules-for-long-range-senso...
11•WaitWaitWha•3d ago•0 comments

A Koi Pond Mosaic Made from 10 Pounds of 3D Printer Waste

https://www.instructables.com/A-Koi-Pond-Mosaic-Made-From-10-Pounds-of-3D-Printe/
35•sudo_cowsay•5h ago•28 comments

How to pack ternary numbers in 8-bit bytes

https://compilade.net/blog/ternary-packing
11•JoshTriplett•6d ago•7 comments

Nativ: Run frontier open models locally on your Mac

https://blaizzy.github.io/nativ/
277•aratahikaru5•15h ago•89 comments

VTubing: How a Japanese Phenomenon Is Going Worldwide

https://www.tokyodev.com/articles/vtubing-how-a-japanese-phenomenon-is-going-worldwide
28•pwim•5h ago•10 comments

Show HN: Immersive Gaussian Splat tour of grace cathedral, San Francisco

https://vincentwoo.com/3d/grace_cathedral/
165•akanet•13h ago•38 comments

I wrote an bash enumerator because I was sick of xargs

https://numerlab.org/2025/07/20/bashumerate-enumerator/
128•wallach-game•13h ago•106 comments

Show HN: Ex Situ – Open-source spatial index of displaced cultural artifacts

https://exsitu.app/map
33•hbyel•4h ago•19 comments

Agent swarms and the new model economics

https://cursor.com/blog/agent-swarm-model-economics
192•jlaneve•15h ago•87 comments

Launch HN: Bloomy (YC S26) – AI-powered mastery learning for K-12

88•alexsouthmayd•17h ago•87 comments

China’s open-weights AI strategy is winning

https://werd.io/american-ai-is-locked-down-and-proprietary-its-losing/
1109•benwerd•19h ago•837 comments

The Psychology of Software Teams

https://www.routledge.com/The-Psychology-of-Software-Teams/Hicks/p/book/9781032963389
94•dcre•5d ago•26 comments

You only need the frontier model for one single edit

https://stencil.so/blog/prewalk
145•jxmorris12•6d ago•44 comments

The Power of Awareness: Overcoming Surveillance Capitalism

https://www.scottrlarson.com/presentations/overcoming-surveillance-capitalism-with-awareness/
108•trinsic2•13h ago•17 comments

Shinjuku Station in 3D

https://satoshi7190.github.io/Shinjuku-indoor-threejs-demo/
222•Gecko4072•19h ago•50 comments

Jellyfin founder Andrew leaves team

https://forum.jellyfin.org/t-project-leadership-changes
243•swat535•10h ago•190 comments

My two year old taught me constraint solving

https://thecomputersciencebook.com/posts/how-my-2yo-taught-me-constraint-solving/
75•bambataa•1w ago•27 comments

I Stopped “Creating Content”

https://refactoringenglish.com/blog/why-i-stopped-creating-content/
172•mtlynch•17h ago•127 comments

How we measured AI writing across arXiv, and where the measurement breaks

https://unslop.run/blog/measuring-ai-writing-on-arxiv
224•dopamine_daddy•17h ago•154 comments

Perfection is not over-engineering

https://var0.xyz/posts/perfection-is-not-over-engineering.html
239•var0xyz•19h ago•102 comments

Hacker wipes Romania's land registry database

https://news.risky.biz/risky-bulletin-hacker-wipes-romanias-entire-land-registry-database/
642•speckx•20h ago•354 comments

Corners Don't Look Like That: Regarding Screenspace Ambient Occlusion (2012)

https://nothings.org/gamedev/ssao/
169•firephox•18h ago•72 comments