Hiểu rasterization và thuật toán của họa sĩ có thể giúp đỡ.
Một cách để hiển thị đồ họa vector (đồ họa được xác định bởi đa giác, thay vì pixel) thành pixel là rasterize đa giác trong khi chạy thuật toán của họa sĩ.
Thuật toán của họa sĩ là một quá trình từ dưới lên, nơi đầu tiên bạn đặt nền xuống, sau đó vẽ lên trên nền đó với mỗi lớp màu cho đến khi bạn đạt đến lớp trên cùng.
Khi bạn gửi một lớp, bạn chú ý đến phạm vi bảo hiểm của nó (thường được lưu trữ trong một kênh phụ, kênh alpha) và sử dụng nó để trộn màu được thêm vào với những gì đã có.
Nếu lớp mới của bạn bao phủ một pixel bằng 50% và nó có màu xanh lam, bạn hãy trung bình màu hiện tại của pixel đó bằng màu xanh và thay vào đó hãy vẽ nó ở đó.
Mọi thứ trở nên phức tạp hơn một chút nếu bạn đang tạo một hình ảnh với độ trong suốt, nhưng về cơ bản không phải là như vậy.
Rasterization là quá trình biến đa giác thành pixel. Ở đây, chúng tôi tìm ra số lượng đa giác bao phủ một pixel đã cho bằng cách sử dụng một số đại số, sau đó tính toán mức độ bao phủ.
Nếu bạn có hai cạnh của một đa giác trùng khớp - chính xác là chồng lên nhau - nhưng cả hai đều che một pixel nhất định, điều gì xảy ra là một vấn đề.
Giả sử đa giác dưới cùng có màu đỏ và màu xanh trên cùng và nền màu trắng.
Đầu tiên chúng ta sơn màu đỏ. Điều này trộn với màu trắng, dẫn đến 50% trắng 50% đỏ.
Chúng tôi sau đó sơn màu xanh. Sự pha trộn này với 50% trắng 50% đỏ và chúng ta nhận được 25% trắng 25% đỏ 50% xanh. Điều tương tự xảy ra nếu màu đỏ và màu xanh gặp nhau ở giữa, hoặc nếu màu xanh bao phủ hoàn toàn màu đỏ.
Nhưng "trong thực tế" đa giác màu xanh hoàn toàn bao phủ màu đỏ, vậy tại sao chúng ta lại nhìn thấy nó? Bởi vì thuật toán quên chi tiết định vị pixel phụ.
Miễn là có phạm vi bao phủ 100% của một đa giác, đây không phải là vấn đề.
Bây giờ, vấn đề này không phải là cơ bản. Bạn có thể thực hiện kết xuất đa giác bằng cách tiếp cận theo dõi tia (trong đó bạn kết xuất quá mức theo hệ số N ^ 2 tại các điểm) hoặc thậm chí là cách tiếp cận giống như vectơ thuần túy (trong đó bạn trừ các hình dạng chặn khỏi hình dạng của hình dạng bên dưới họ, cắt chúng ra). Trong cả hai trường hợp, màu "ẩn" không bị rò rỉ qua hình ảnh đầu ra.
Thuật toán của họa sĩ không phải là trường hợp duy nhất mà hình học "ẩn" có thể rò rỉ qua. Nếu bạn đang in bằng phương tiện mờ, đôi khi các lớp màu không được căn chỉnh hoàn hảo. Vì vậy, lớp dưới bị rò rỉ khi lớp trên cùng phải được che phủ hoàn toàn.
Vì bạn không biết hình ảnh vector của mình sẽ được xuất như thế nào, các rãnh như thế cho phép bạn tạo ra hình ảnh mạnh mẽ hơn trước các kỹ thuật in / hiển thị không hoàn hảo.