Khi kết xuất họa tiết có kênh alpha, đường viền màu trắng xuất hiện xung quanh phần không trong suốt (đường viền có vẻ là pixel có alpha> 0 và < 1):webgl: viền màu trắng khi sử dụng độ trong suốt (alpha)
Các kết cấu ban đầu được tạo ra trong minh họa và xuất ra dưới dạng một png. ở đây là:
(tốt, dường như stackoverflow thay đổi hình ảnh, điều chỉnh điểm ảnh mà không phải là hoàn toàn mờ đục/minh bạch, vì vậy đây là một link)
nó có lẽ là sự pha trộn, mặc dù tôi không biết những gì là sai với thiết lập:
gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
[cập nhật]
Đây là một phiên bản trả lại, nơi tôi đã thêm một alpha-gradient cho phần bên trái của kết cấu (vì vậy nó là nhận được từ 0 opacity tới 1 cho đến nửa)
kết cấu này là chỉ có kết cấu được hiển thị ở vị trí này. nó có vẻ là trắng nhất xung quanh a = 0,5. thực sự kỳ lạ. nền chỉ là một màu xóa:
gl.clearColor(0.603, 0.76, 0.804, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
// render objects here
độ sâu chức năng trông giống như:
gl.enable(gl.DEPTH_TEST);
gl.depthFunc(gl.LEQUAL);
bất kỳ ý tưởng? cảm ơn rất nhiều.
[Cập nhật 2]
Trả lời câu hỏi của riêng tôi: hiệu ứng xảy ra khi background-color của vải hoặc cơ thể của html-page là màu trắng. Tôi không có một lời giải thích, mặc dù.
Hãy thử nó với một phần lớn có 0
Shahbaz
có. tôi đã cập nhật bài đăng. có một vùng trắng. lượng màu trắng phụ thuộc vào alpha. có vẻ là trắng nhất xung quanh 0,5 – CodeSalad
Điều kỳ lạ là nó sáng hơn cả kết cấu và hậu cảnh! Bạn đã bật ánh sáng chưa? – Shahbaz