GPU-Friendly Stroke Expansion

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Good catch! We took the mmark CPU numbers out (in response to review feedback) because they made the graphs hard to read, but it scales very much the same way as the Nehab timings dataset. The raw CPU numbers for mmark are in the repo[1] in the "timings" file.

    [1]: https://github.com/linebender/gpu-stroke-expansion-paper

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • vello

    A GPU compute-centric 2D renderer.

    There already is: https://github.com/linebender/vello

    Also see the comment by the author of the paper and library: https://news.ycombinator.com/item?id=40890270

  • canvas_ity

    A tiny, single-header <canvas>-like 2D rasterizer for C++

    There's a relatively straightforward trick that you can do here. If you've got a transform that turns a circle into an ellipse with the relative radii and orientation that you want, then:

    1. Apply the inverse of that transform to your path.

    2. Stroke the path.

    3. Apply the transform to the result.

    This way, the path stays in place but the stroke is transformed to give it a calligraphic look. JSFiddle example: [0].

    (This was something that I tested in my tiny, single-header -like 2D rasterizer library for C++ and my Javascript port of its test suite [1].)

    For Inkscape, I think you can convert an object to a path, apply the inverse transform, do a minimal simplification to bake the transform into the path, stroke it, and then apply the forward transform. It's a bit clumsy, but I bet someone could easily create an extension script to do it.

    [0] https://jsfiddle.net/y7m16wa0/

    [1] https://github.com/a-e-k/canvas_ity/blob/main/test/test.cpp#..., https://github.com/a-e-k/canvas_ity/blob/main/test/test.html...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • The Lone Developer Problem

    3 projects | news.ycombinator.com | 27 Feb 2023
  • A tiny, single-header -like 2D rasterizer for C++

    1 project | news.ycombinator.com | 10 Oct 2022
  • canvas_ity - A tiny, single-header &lt;canvas&gt;-like 2D rasterizer

    2 projects | /r/cpp | 10 Oct 2022
  • Endless Sky: Open-Source Space Exploration, Trading, and Combat Game

    1 project | news.ycombinator.com | 29 Sep 2024
  • Jolt: Physics and collision detection library, used by Horizon Forbidden West

    1 project | news.ycombinator.com | 3 Sep 2024

Did you konow that Rust is
the 5th most popular programming language
based on number of metions?