Sunli
4fdda8d5a1
gpui: Improve path rendering & global multisample anti-aliasing ( #29718 )
...
Currently, the rendering path required creating a texture for each path,
which wasted a large amount of video memory. In our application, simply
drawing some charts resulted in video memory usage as high as 5G.
I removed the step of creating path textures and directly drew the paths
on the rendering target, adding post-processing global multi-sampling
anti-aliasing. Drawing paths no longer requires allocating any
additional video memory and also improves the performance of path
rendering.
Release Notes:
- N/A
---------
Co-authored-by: Jason Lee <huacnlee@gmail.com>
2025-07-02 09:41:42 -07:00
Floyd Wang
ac806d982b
gpui: Introduce dash array support for PathBuilder
( #31678 )
...
A simple way to draw dashed lines.
https://github.com/user-attachments/assets/2105d7b2-42d0-4d73-bb29-83a4a6bd7029
Release Notes:
- N/A
2025-06-06 09:54:21 -07:00
Floyd Wang
c73af0a52f
gpui: Add more shapes for PathBuilder
( #30904 )
...
- Add `arc` for drawing elliptical arc.
- Add `polygon` support.
<img width="1136" alt="image"
src="https://github.com/user-attachments/assets/97032b02-e6ff-4985-a587-3689500bfd56 "
/>
Release Notes:
- N/A
2025-05-26 12:49:42 +03:00
Piotr Osiewicz
dc64ec9cc8
chore: Bump Rust edition to 2024 ( #27800 )
...
Follow-up to https://github.com/zed-industries/zed/pull/27791
Release Notes:
- N/A
2025-03-31 20:55:27 +02:00
Jason Lee
f08b1d78ec
Revert "Revert recent anti-aliasing improvements ( #24289 )" and fix selection top right corner radius issue ( #24342 )
...
Release Notes:
- N/A
----
To fix #24289 mention issue and revert PathBuilder and MSAA.
I'm sorry about of this, in #22808 I was forgotten this bit of detail.

So, add `move_to` here, we can fix the selection top right corner radius
issue.
## After change
<img width="1383" alt="image"
src="https://github.com/user-attachments/assets/28ea103c-d652-41d6-bbe0-7fd042d81e77 "
/>
2025-02-06 11:03:23 +02:00
Kirill Bulatov
aaf432fcd2
Revert recent anti-aliasing improvements ( #24289 )
...
This reverts commit 31fa414422
.
This reverts commit b9e0aae49f
.
`lyon` commit revert:

`MSAA` commit revert:

cc @huacnlee , @\as-cii had decided to revert this PR due to a selection
right corner rendering bug.
Not sure what to propose for a fix from my side
Release Notes:
- N/A
2025-02-05 17:17:26 +00:00
Jason Lee
31fa414422
gpui: Add PathBuilder
based on lyon to build Path
( #22808 )
...
Release Notes:
- N/A
---
Continue https://github.com/zed-industries/zed/pull/20499
We to draw more complex Path. Before this change, we only have
`line_to`, but it is not enough.
Add a new `PathBuilder` to use [lyon](https://github.com/nical/lyon ) to
build more complex path.
And then with PR #22812 to enable anti-aliasing, all thing will be
perfect.
## Show case
```bash
cargo run -p gpui --example painting
```
Before:
<img width="1136" alt="image"
src="https://github.com/user-attachments/assets/0c15833a-ec95-404c-a469-24cf172cfd86 "
/>
After:
<img width="1136" alt="image"
src="https://github.com/user-attachments/assets/42cfa35e-7e8f-4ef3-bb2d-b98defc62ad6 "
/>
2025-01-29 22:14:33 +02:00