GPU text rendering with vector textures

Languages and libraries

text rendering library

SHOW HN2016

334points
87comments
#50of 2,264 in 2016
Top 3%of 2016 by points

How HN took it

DebatedReal support and real criticism

20 positive, 11 neutral or asking, 3 mixed, 12 critical, out of 46 comments about the project. Thread score +0.10.

Performance: 16 for, 8 againstIdea: 2 for, 2 againstExecution: 0 for, 2 againstDocs: 1 for, 0 againstDesign: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Smooth and sharp text rendering in the demo on many devices

    From 3 comments
    • Here's my experience on my local devices: ``` * Quad i7 16 GBytes GTX 970 OSX FFox - perfectly smooth * iPhone 6s+ - very smooth * Nexus 6p - slightly jumpy / laggy but still…
      watmough on HN
    • It's amazingly smooth, I'd say 60+ fps, on my i7-3770K desktop (Geforce GTX970) with Firefox Developer Edition.
      bhauer on HN
    • I don't know why you are being downvoted, that is what is happening and I am not convinced that straight textures would be better. We already know that SDF textures are better…
      CyberDildonics on HN
  • Clever technique, more faithful to letterforms than SDF

    From 2 comments
    • Very clever technique! It seems more true to letterforms than SDF. Seems like it might need more texture bandwidth/dependent reads than SDF, but less texture memory as a whole?…
      pshc on HN
    • This is a cool technique. The WebGL demonstration is pretty compelling! It's a little odd to me that they describe distance fields as having an unavoidable problem with sharp…
      kevingadd on HN

Objections

  • Demo performs poorly on some hardware, e.g. Intel integrated graphics on macOS

    From 3 comments
    • Yeah my rMBP uses an embedded Intel graphics card. The performance is horrible, ~2 fps, tried FF and Chrome.
      davej on HN
    • Even with a discrete card (M370x), the performance is poor on my rMBP. I only tried Chrome, though.
      smskelley on HN
    • It's very laggy and slow on a quad i7 16GB Macbook Pro. Presumably this is because of the retina display.
      davej on HN
  • Per-frame glyph rasterization is wasteful without atlasing

    From 2 comments
    • This is really neat. Though in practice if you are using this kind of thing I'm pretty sure you will want to combine it with atlasing (i.e. construct an atlas of glyphs via…
      pcwalton on HN
    • That was my first thought. This is brilliant, but the FS is way overworked, making this less practical and going back to the original solution (because it's fast). It's a trade…
      baldajan on HN
  • Demo fails or shows artifacts on some browsers and devices

    From 2 comments
    • strange, I only see white rectangles on the demo (using ff 43.0.3)
      _ZeD_ on HN
    • It doesn't work here, Nexus 5. That's what I see when I zoom in: https://goo.gl/photos/3EXv2t4YZRxmyNPe8
      e98cuenc on HN

Requests

  • Publish the WebGL source code

    From 1 comment
    • Great work! Is there any WebGL source available? The demo runs very poorly on my 15" MBP (late 2013, Intel Iris Pro). I'm not sure if it's just the sheer number of glyphs being…
      mattdesl on HN
  • Add subpixel rendering

    From 1 comment
    • no subpixel rendering or hinting. Im confused - is there a problem with cpu rendered fonts that needs fixing? I didnt notice anything wrong last time I was reading schematics and…
      rasz_pl on HN

Questions

  • How to get started rendering text with this

    From 1 comment
    • This looks great, but I don't understand much of the article. As a half-decent dev, what do I need to do to write "Hello World" on the screen?
      voltagex_ on HN
  • Whether it works for CJK glyphs with complex geometry

    From 1 comment
    • The method seems to assume the geometric complexity of a glyph is relatively small. I wonder if it will work with CJK glyphs. Possibly the number of tiles per glyph would need to…
      jepler on HN

Alternatives named

  • Signed distance field text rendering

    From 3 comments
    • This paper from 2014 is the best recent work I’ve seen about rendering vector graphics on the GPU: http://w3.impa.br/~diego/projects/GanEtAl14/
      jacobolus on HN
    • Signed Distance Field fonts are wonderful! I've been using a Unity extension called TextMesh Pro, which works very efficiently, and renders beautiful text that you can configure…
      DonHopkins on HN
    • Although cool, this is not a particularly novel idea. I remember reading a 2007 SIGGRAPH paper about something similar Valve did in HL2 (or maybe it was Orange Box). Either way,…
      dvt on HN
  • Glyphy

    From 1 comment
    • Another one: https://github.com/behdad/glyphy (SDF, but full vector outlines, not texture sampling)
      sho_hn on HN
  • Direct2D and NV path rendering

    From 1 comment
    • Microsoft has Direct2D https://msdn.microsoft.com/en-us/library/windows/desktop/dd370987(v=vs.85).aspx Nvidia has it's nvPathRendering extension to OpenGL…
      corysama on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/10824064)