vger-rs VS nanovgXC

Compare vger-rs vs nanovgXC and see what are their differences.

nanovgXC

Lightweight vector graphics library implementing exact-coverage antialiasing in OpenGL (by styluslabs)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
vger-rs nanovgXC
1 3
228 113
2.2% -
7.8 0.0
4 months ago 7 days ago
Rust C
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

vger-rs

Posts with mentions or reviews of vger-rs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-10.
  • Vector Graphics on GPU
    10 projects | news.ycombinator.com | 10 Aug 2022
    I've done a library for vector graphics on the GPU which works pretty well for my uses:

    https://github.com/audulus/vger

    and a rust version:

    https://github.com/audulus/vger-rs

    (which powers my rust GUI library: https://github.com/audulus/rui)

    Here's the approach for rendering path fills. From the readme:

    > The bezier path fill case is somewhat original. To avoid having to solve quadratic equations (which has numerical issues), the fragment function uses a sort-of reverse Loop-Blinn. To determine if a point is inside or outside, vger tests against the lines formed between the endpoints of each bezier curve, flipping inside/outside for each intersection with a +x ray from the point. Then vger tests the point against the area between the bezier segment and the line, flipping inside/outside again if inside. This avoids the pre-computation of Loop-Blinn, and the AA issues of Kokojima.

    It works pretty well, and doesn't require as much preprocessing as the code in the article. Also doesn't require any GPU compute (though I do use GPU compute for some things). I think ultimately the approach in the article (essentially Piet-metal, aka tessellating and binning into tiles) will deliver better performance, and support more primitives, but at greater implementation complexity. I've tried the Piet-metal approach myself and it's tricky! I like the simpler Shadertoy/SDF inspired approach :)

nanovgXC

Posts with mentions or reviews of nanovgXC. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-10.
  • canvas_ity - A tiny, single-header <canvas>-like 2D rasterizer
    2 projects | /r/cpp | 10 Oct 2022
    Nice work. Any plan to add GPU (opengl) support? CPU rendering is OK but the performance using the GPU is likely order of magnitudes better. Here is a library that uses the same antialiasing technique https://github.com/styluslabs/nanovgXC using OpenGL (based on NanoVG).
  • Vector Graphics on GPU
    10 projects | news.ycombinator.com | 10 Aug 2022
    GPU vector graphics library I released a few years ago: https://github.com/styluslabs/nanovgXC - basically a new backend for nanovg that supports arbitrary paths. Coverage calculation (for analytic antialiasing) is explained a bit here: https://github.com/styluslabs/nanovgXC/blob/master/src/nanov...
  • Advice for the next dozen Rust GUIs
    14 projects | news.ycombinator.com | 15 Jul 2022
    Getting sufficient antialiasing quality for 2D graphics is difficult on GPUs. https://github.com/memononen/nanovg accomplishes this with GL2/GLES2 level hardware for most of the stuff one would want to render as part of a GUI. My project https://github.com/styluslabs/nanovgXC supports rendering arbitrary paths with exact coverage antialiasing, but requires GLES3.1 or GL4 level hardware for reasonable performance.

What are some alternatives?

When comparing vger-rs and nanovgXC you can also consider the following projects:

vger - 2D GPU renderer for dynamic UIs

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

rui - Declarative Rust UI library

rust-yew-axum-tauri-desktop - Rust + Yew + Axum + Tauri + Tailwindcss, full-stack Rust development for Desktop apps.

contrast_renderer - Contrast is a WebGPU based 2D render engine written in Rust

glyphy - GLyphy is a signed-distance-field (SDF) text renderer using OpenGL ES2 shading language.

msdfgen - Multi-channel signed distance field generator

nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.

yews

Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.