Earlier quoted context omitted.
You mentioned winding numbers in a couple of places Wouldn't it make sense to do a "first pass" and eliminate paths that intersect themselves? (by splitting them into 2+ paths) I never understood why these are supported in the SVG spec. It seems like a pathological case. Once self-intersecting paths are eliminated the problem gets simpler.. no? Or would a CPU pass be cheating?
The Rasterizer algorithm handles self-intersecting paths without issue. Removing them requires expensive and complex computation geometry.
Rasterizer: A GPU-accelerated 2D vector graphics engine in ~4k LOC
51–58 of 58 posts
Re: Rasterizer: A GPU-accelerated 2D vector graphics engine in ~4k LOC
#52Maybe its me and I am more than okay but I went into a whole license rabbit hole trying to figure out the license that it uses It uses this "personal use zlib license" And So earlier it was actually licensed under the zlib license which I think of as in something similar to the MIT license (I think, I am not a lawyer) My issue with this is that the personal use zlib license to me feels like its made up by the author,…
Re: Rasterizer: A GPU-accelerated 2D vector graphics engine in ~4k LOC
#53I've been working on this problem on and off for over 10 years. AMA ;-)
Re: Rasterizer: A GPU-accelerated 2D vector graphics engine in ~4k LOC
#54I've been working on this problem on and off for over 10 years. AMA ;-)
Are there any culling optimizations for unseen elements when layering SVG images? Looks like this isn’t an optimization that comes out-of-the-box with OpenVG and all the major web browsers needed to add this, so wondering what your solution is doing.
Re: Rasterizer: A GPU-accelerated 2D vector graphics engine in ~4k LOC
#55Consider modern C++ practices as outlined here: https://github.com/cpp-best-practices/cppbestpractices/blob/...
Re: Rasterizer: A GPU-accelerated 2D vector graphics engine in ~4k LOC
#56Earlier quoted context omitted.
Are there any culling optimizations for unseen elements when layering SVG images? Looks like this isn’t an optimization that comes out-of-the-box with OpenVG and all the major web browsers needed to add this, so wondering what your solution is doing.
The depth buffer is used for opaque path interiors.
Re: Rasterizer: A GPU-accelerated 2D vector graphics engine in ~4k LOC
#57I've been working on this problem on and off for over 10 years. AMA ;-)
This project made me happy. You mentioned Flash as an inspiration. Have you looked at how Ruffle is handling vector art? From what I recall they are converting it to triangles. Your solution (curves in the shaders?) seems both cheaper and more accurate, so I'm wondering if they could use it!
Re: Rasterizer: A GPU-accelerated 2D vector graphics engine in ~4k LOC
#58Interesting, how does this comparento the Rive renderer?