Why the flatten stage process the data in the local space?
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 4.3k
- Forks
- 300
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 61
Description
Hi there
I am re-reading the vello shader code recently, I found the flatten stage uses the local space to process the curve to the line segments **with the scale factor to deal with the stroke width**.
But why it is in local space?
First I think the local space wastes lots of compute. If I can transform it in the screen space, maybe I can filter out the data at first.
Second, what if my scale is not isotropic? Like in x axis scale 2, but in y axis scale only 0.5?
This is pretty common when I have the stroke width fixed in screen space, not in local space. Also I have to deal with the transformation which is very likely to be anisotropy.
Really hope to get some reply.
Thanks a lot!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the Vello shader code for the flatten stage and tracing how local-space curves, line segments, scale factors, and stroke width are handled. Investigate the consequences of moving processing to screen space, including early filtering and anisotropic transforms. Done would require a documented design decision or an agreed implementation plan for these cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100