Cách đây một lúc, tôi hỏi làm thế nào để xác định khi nào một khuôn mặt chồng lên nhau. Lời khuyên là sử dụng bộ đệm Z.
Tuy nhiên, tôi không thể sử dụng bộ đệm Z trong dự án hiện tại của mình và do đó tôi muốn sử dụng thuật toán của Họa sĩ. Mặc dù vậy, tôi không có manh mối tốt khi một bề mặt ở phía sau hoặc phía trước mặt khác. Tôi đã thử rất nhiều phương pháp nhưng tất cả đều thất bại trong các trường hợp cạnh hoặc chúng thất bại ngay cả trong các trường hợp chung.
Đây là danh sách các phương pháp sắp xếp mà tôi đã thử từ trước đến nay:
- Khoảng cách đến điểm giữa của mỗi khuôn mặt
- Khoảng cách trung bình đến từng đỉnh của mỗi mặt
- Giá trị z trung bình của mỗi đỉnh
- Giá trị z đỉnh nhất của mỗi mặt và vẽ những đỉnh đầu tiên
- Giá trị z thấp nhất của các đỉnh của mỗi mặt và vẽ các đỉnh cuối cùng
Vấn đề là một khuôn mặt có thể có khoảng cách gần hơn nhưng vẫn ở xa hơn. Tất cả những phương pháp này dường như không đáng tin cậy.
Chỉnh sửa: Ví dụ, trong hình ảnh sau, bề mặt có điểm màu xanh lam là điểm giữa được vẽ trên bề mặt với điểm màu đỏ là điểm giữa, vì điểm màu xanh gần hơn. Tuy nhiên, điều này là do bề mặt của điểm đỏ lớn hơn và điểm giữa ở xa hơn. Bề mặt với điểm màu đỏ nên được sơn lên trên màu xanh lam, bởi vì nó gần hơn , trong khi khoảng cách giữa điểm thì ngược lại.
Chính xác những gì được sử dụng trong thuật toán của Họa sĩ để xác định thứ tự các đối tượng nên được vẽ?