←back to thread

168 points mindbrix | 3 comments | | HN request time: 0s | source
Show context
delhanty ◴[] No.45114409[source]
Congratulations!

Can you say how the it's similar and how it's different to superficially similar sounding work?

(1) https://github.com/linebender/vello , dual Apache/MIT, by Raph Levien et al

(2) https://sluglibrary.com/ , proprietary, by Eric Lengyel (Terathon)

replies(1): >>45136148 #
mindbrix ◴[] No.45136148[source]
Slug is primarily designed for text rendering.

Vello is general purpose, like Rasterizer, but is based on GPU compute. Rasterizer uses the 'traditional' GPU pipeline. Performance numbers for both look very competitive, although Vello seems to have issues with GPU lock up at certain zoom scales. Rasterizer has been heavily tested with huge scenes at any scale.

replies(2): >>45137261 #>>45137617 #
1. cubefox ◴[] No.45137617[source]
Stupid question: Why not use the hardware (fixed function) rasterizer inside the GPU? I guess that one is only optimized for triangles.
replies(2): >>45137703 #>>45137965 #
2. mindbrix ◴[] No.45137703[source]
Good question and answer ;-)
3. mindbrix ◴[] No.45137965[source]
The longer answer is that using straight-edged geometry to represent curves is a resolution-dependent operation, e.g. a full screen circle may need to be flattened to an 80-sided polygon.

Rasterizer can solve quadratic curves in the fragment shaders, which massively reduces the geometry needed for a scene.

Also, the native rasterizer only supports MSAA, which is inferior to reference analytic area AA.