microsoft / microsoft/terminal
Implement a tile based deferred text renderer for perfect glyph overlaps
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 105k
- Forks
- 9.6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 29
Description
Before:
After:
To people who work on video games this is probably a piece of cake. To anyone else, I hope this suffices:
The key here is that we accumulate the ClearType weights separately from the foreground colors via max() and only then blend it with the foreground color into the resulting image. The max() ensures that no emboldening occurs on overlaps, unlike with regular alpha blending (two semi-transparent colors result in one slightly opaquer).
Contributor guide
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 locating the terminal's text-rendering pipeline and the code that produces the before and after glyph-overlap results. Read the attached explanation of separately accumulating ClearType weights with max() before blending foreground colors. Done means overlapping glyphs no longer become emboldened while the rendered output matches the intended result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100