Viewing profile — mindbrix
mindbrix
HN member- Joined
- Mon, Mar 16, 2020, 11:31 AM UTC
- HN karma
- 192
- Public activity
- 30 items
- HN profile
- View on Hacker News ↗
About mindbrix
No profile information was provided.
Recent public activity
-
comment
Comment #45147599
Ruffle is cool. From pixel inspecting the demo, it looks like they are using triangle fans with stencil & cover + MSAA, which was how I started!
-
comment
Comment #45141311
The depth buffer is used for opaque path interiors.
-
comment
Comment #45139695
My original target was iOS, so this was unavailable. I did experiment with their algorithm, but 4x MSAA was slow and had poor quality compared to Core Graphics, which was my refere…
-
comment
Comment #45139127
My email address is in every file ;-)
-
comment
Comment #45139102
Drawing cached renders in quads is how Core Animation works, but they do not scale well. You are ultimately limited by the CPU. Rasterizer enables a fully-animated canvas @ 60fps.
-
comment
Comment #45137965
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 p…
-
comment
Comment #45137703
Good question and answer ;-)
-
comment
Comment #45137404
My reference renderer has been Core Graphics. If it looks like CG I assume it's OK - and if it's not OK I'm in good company ;-) You can switch between CG and Rasterizer in the demo…
-
comment
Comment #45137356
Thanks, you imagine correctly ;-) The current version uses Metal. I haven't even considered GPU ports yet, as my methodology is to get it working well on one platform first. For si…
-
comment
Comment #45137335
Thanks. I couldn't really say without doing proper research.
-
comment
Comment #45137307
Rasterizer excels at animation and complex scenes, e.g. 2D CAD documents. The original inspiration was Flash, as I love innovative design tools. Flash 1.0 could easily be used by d…
-
comment
Comment #45137220
The Rasterizer algorithm handles self-intersecting paths without issue. Removing them requires expensive and complex computation geometry.
-
comment
Comment #45137025
I can't really answer that in detail yet. I suspect Rasterizer will be faster for complex scenes.
-
comment
Comment #45136955
No magic, just 10+ years of experimentation and optimisation.
-
comment
Comment #45136943
Linear at present.
-
comment
Comment #45136498
The "traditional graphics pipeline" approach was chosen to maximise the platforms Rasterizer could run on, as GPU compute support at the time was patchy. Compute is now more univer…
-
comment
Comment #45136212
Winding numbers are easy to explain, but hard to compute efficiently: https://en.wikipedia.org/wiki/Winding_number
-
comment
Comment #45136200
The core problem is path winding: https://en.wikipedia.org/wiki/Winding_number Paths can be any size, and the problem is hard to parallelize. GPUs like stuff broken into small regu…
-
comment
Comment #45136148
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 n…
-
comment
Comment #45136062
No. I'm hoping someone else will do that ;-)
-
comment
Comment #45135995
None of that yet. The underlying SVG library, nanosvg, is very simple with no text support. The first priority was to solve paths to pixels efficiently, including text (50,000 glyp…
-
comment
Comment #45135914
Hi Steve. Yes, it is! 10+ years in the making.
-
comment
Comment #45090784
Thanks for the feedback. I will work on one.
-
comment
Comment #45090554
I've been working on this problem on and off for over 10 years. AMA ;-)
- story