Câu hỏi này có phần liên quan đến câu hỏi này .
Như Alan đã nói, đi theo con đường ánh sáng thực tế qua từng lớp dẫn đến kết quả chính xác hơn về mặt vật lý. Tôi sẽ dựa trên câu trả lời của mình trên một bài báo của Andrea Weidlich và Alexander Wilkie ( "Các bề mặt vi mô được sắp xếp một cách tùy tiện" ) mà tôi đã đọc và thực hiện một phần. Trong bài báo, các tác giả cho rằng khoảng cách giữa hai lớp nhỏ hơn bán kính của một phần tử vi phân. Giả định này đơn giản hóa việc thực hiện bởi vì chúng ta không phải tính riêng các điểm giao nhau cho mỗi lớp, thực tế chúng tôi giả định rằng tất cả các điểm giao nhau trên các lớp chỉ là cùng một điểm.
Theo bài báo, hai vấn đề phải được giải quyết để đưa ra vật liệu nhiều lớp. Cách thứ nhất là lấy mẫu đúng các lớp và lớp thứ hai là tìm BSDF kết quả được tạo bởi sự kết hợp của nhiều BSDF được tìm thấy dọc theo đường dẫn lấy mẫu.
CẬP NHẬT: Trên thực tế tôi đã áp dụng một phương pháp khác để thực hiện đánh giá mô hình lớp này. Trong khi tôi có ý tưởng coi các điểm giao nhau chỉ là cùng một điểm dọc theo các lớp, tôi đã tính toán lấy mẫu và BRDF cuối cùng khác nhau: để lấy mẫu, tôi đã sử dụng phương pháp dò tia thông thường, nhưng thông qua các lớp (sử dụng tiếng Nga Roulette để chọn giữa phản xạ / khúc xạ khi đó là trường hợp); để đánh giá BRDF cuối cùng, tôi chỉ cần nhân mỗi BRDF đi qua đường tia (trọng số của các tia tới theo cosin của tia tới).
Lấy mẫu
Trong giai đoạn đầu tiên này, chúng tôi sẽ xác định đường dẫn ánh sáng thực tế qua các lớp. Khi một tia sáng đang di chuyển từ một môi trường ít đậm đặc hơn, ví dụ như không khí, sang một môi trường đậm đặc hơn, ví dụ như thủy tinh, một phần năng lượng của nó bị phản xạ và phần còn lại được truyền đi. Bạn có thể tìm thấy lượng năng lượng được phản ánh thông qua các phương trình phản xạ Fresnel . Vì vậy, ví dụ, nếu hệ số phản xạ Fresnel của một chất điện môi nhất định là 0,3, chúng ta biết rằng 30% năng lượng được phản xạ và 70% sẽ được truyền đi:
Khi tia sáng chuyển từ môi trường đậm đặc hơn sang môi trường ít đậm đặc hơn, áp dụng nguyên tắc tương tự được mô tả bởi hệ số phản xạ Fresnel. Tuy nhiên, trong trường hợp cụ thể này, tổng phản xạ bên trong (còn gọi là TIR) cũng có thể xảy ra nếu góc của tia tới nằm trên góc tới hạn. Trong trường hợp của TIR, 100% năng lượng được phản xạ trở lại vào vật liệu:
Khi ánh sáng chiếu vào một dây dẫn hoặc bề mặt khuếch tán, nó sẽ luôn bị phản xạ (là hướng phản xạ liên quan đến loại BRDF). Trong một vật liệu đa lớp, đường dẫn ánh sáng kết quả sẽ là kết quả tổng hợp của tất cả các khả năng đó. Do đó, trong trường hợp vật liệu 3 lớp, giả sử rằng lớp thứ nhất và lớp thứ hai là điện môi và lớp thứ ba là khuếch tán, ví dụ, chúng ta có thể kết thúc bằng đường dẫn ánh sáng sau (thực tế là một cây):
Chúng ta có thể mô phỏng loại tương tác này bằng cách sử dụng đệ quy và tính trọng số cho từng đường ánh sáng theo độ phản xạ / truyền thực tế tại các điểm sự cố tương ứng. Một vấn đề liên quan đến việc sử dụng đệ quy trong trường hợp này là số lượng tia tăng theo độ sâu của đệ quy, tập trung nỗ lực tính toán vào các tia mà cá nhân có thể đóng góp gần như không có kết quả cuối cùng. Mặt khác, kết quả tổng hợp của các tia riêng lẻ ở mức đệ quy sâu có thể là đáng kể và không nên bị loại bỏ. Trong trường hợp này, chúng ta có thể sử dụng Russian Roulette (RR) để tránh phân nhánh và để các đường ánh sáng kết thúc có xác suất mà không mất năng lượng, nhưng với chi phí của phương sai cao hơn (kết quả ồn hơn). Trong trường hợp này, kết quả của phản xạ Fresnel, hoặc TIR, sẽ được sử dụng để chọn ngẫu nhiên con đường nào sẽ theo. Ví dụ:
Có thể thấy, độ phản xạ TIR hoặc Fresnel có thể giữ một số tia nảy vô hạn giữa các lớp. Theo như tôi biết, Mitsuba sử dụng nhựa làm vật liệu hai lớp và nó sử dụng giải pháp dạng kín cho trường hợp cụ thể này chiếm số lượng ánh sáng vô hạn giữa các lớp. Tuy nhiên, Mitsuba cũng cho phép tạo ra các vật liệu đa lớp với số lượng lớp tùy ý, trong trường hợp đó, nó áp đặt số lần thoát nội bộ tối đa do không có giải pháp dạng đóng nào tồn tại trong trường hợp chung. Là một tác dụng phụ, một số năng lượng có thể bị mất trong quá trình kết xuất, làm cho vật liệu trông tối hơn so với cuối cùng.
Trong triển khai vật liệu đa lớp hiện tại của tôi, tôi cho phép số lần thoát nội bộ tùy ý với chi phí thời gian kết xuất lâu hơn (thực ra ... tôi chỉ thực hiện hai lớp .. một lớp điện môi và một lớp khuếch tán :).
Một tùy chọn bổ sung là trộn phân nhánh và RR. Ví dụ, các tia ban đầu (mức độ sâu thấp hơn) có thể đóng góp đáng kể cho hình ảnh cuối cùng. Do đó, người ta có thể chọn chỉ phân nhánh tại một hoặc hai giao điểm đầu tiên, chỉ sử dụng RR sau đó. Đây là, ví dụ, cách tiếp cận được sử dụng bởi smallpt .
Một điểm thú vị liên quan đến các vật liệu nhiều lớp là các tia phản xạ / truyền riêng lẻ có thể được lấy mẫu quan trọng theo các BRDF / BTDF tương ứng của mỗi lớp.
Đánh giá BSDF cuối cùng
Xem xét đường dẫn ánh sáng sau được tính bằng RR:
Lr
Lr= ( fr1cosθ1p df1( fr2cosθ2p df2(fr3cosθ3p df3( fr2cosθ4p df2( LTôifr1cosθ5p df1) ) ) ))
p dfLTôi
fr = fr1⋅ fr2⋅ fr3⋅ fr2⋅ fr1
p df= p df1⋅ p df2⋅ p df3⋅ p df2⋅ p df1
cosθ = cosθ1⋅ cosθ2⋅ cosθ3⋅ cosθ2⋅ cosθ1
Lr= ( fr cosθp df) LTôi
Bài báo của Andrea Weidlich và Alexander Wilkie cũng xem xét sự hấp thụ, tức là mỗi tia sáng có thể bị suy giảm theo hệ số hấp thụ của từng lớp truyền và độ dày của nó. Tôi chưa bao gồm sự hấp thụ vào trình kết xuất của mình, nhưng nó được biểu thị bằng chỉ một giá trị vô hướng, sẽ được đánh giá theo Luật Beerer .
Phương pháp thay thế
Trình kết xuất Mitsuba sử dụng biểu diễn thay thế cho vật liệu nhiều lớp dựa trên "lập bảng các hàm phản xạ trong cơ sở Fourier". Tôi chưa nghiên cứu sâu về nó, nhưng có thể được quan tâm: " Khung toàn diện để kết xuất vật liệu nhiều lớp " của Wenzel Jacob et al . Ngoài ra còn có một phiên bản mở rộng của bài viết này.