ZH version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
100% Positive
Analyzed from 229 words in the discussion.
Trending Topics
#cubic#bezier#texture#using#control#points#spline#single#plus#makes

Discussion (3 Comments)Read Original on HackerNews
The Seiler representation feels in a way similar to Hermite; it’s still a Bezier with the 2 endpoints, and the interior 2 control points use a convenient differential form.
Kind of amazing the perf is as good as using shader code, FMA instructions or whatever. I would make the argument that this is useful even if slower (and it might be on, say, mobile hardware), since you are offloading work to the texture hardware. It’s like adding extra FMA units to the machine.
This makes me wonder if there’s some way to evaluate a quadratic B-spline using a 2D 2x(N+1) texture, sharing a texture edge with the neighbor segment, so the amortized cost of a segment is ~2 texels instead of 4…
Oh also the paper mentions Boehm’s algorithm for converting Bezier to B-spline. Note that if you lookup Boehm’s algorithm it will look crazy complicated, but you can convert the control points of a cubic Bezier to a cubic uniform B-spline with a single matrix-matrix multiply. This is true for converting to/from Catmull-Rom as well, plus I think any type that’s cubic polynomial. You lose the vertex sharing, but that’s already gone with texture sampling - so this paper will automatically work on any polynomial curves, not just Bezier.