3b1b / 3b1b/manim

Anti-aliasing(with vector graphics) failed with Winding Fill

Đang mở
#1,999 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
Python
Star
93.8k
Fork
7.7k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

### Description
Anti-aliasing with vector graphics seems to be not working. Though it looks acceptable on 1080x1920 rendering results, it appears bad on the preview window. Things become worse when mobjects are small(e.g. thin stroke in an 'x' character).

![image](https://user-images.githubusercontent.com/44148328/222413485-33383b17-6371-4cda-9f82-ca6a70648a30.png)

The issue seems ubiqutous among VMobject, especially among VMobject with dense points like string and tex.

### How is this caused
I checked code and I think its caused by shader code changes. Now in the fragment shader of quadratic_bezier_fill(after winding fill was introduced, I think?), it no longers uses `smoothstep` to calculate the fragment alpha for a **smooth border**, which was the mechanism in vector graphics that did the anti-aliasing. Not fragments are `discard` when `Fxy == 0` directly. I'm not sure whether this issue can be fixed, or is this intended?

### Platform
My platform information: I'm on win10, python 3.9. I didn't encounter the problem until I upgrade across the recent commits(where winding-fill was introduced and rendering was refactored into shader wrappers), and the issue exists till the latest commits available(~Feb 16) on github.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.