Đường dẫn & vật liệu


8

Tôi đang tự hỏi về kỹ thuật được sử dụng khi lấy mẫu vật liệu xếp lớp cho sự kiện tiếp theo trong trình theo dõi đường dẫn. Tôi có một vật liệu với ba lớp: một thùy khuếch tán, cơ bản và ánh sáng. Làm thế nào để đi về việc chọn một lớp riêng biệt để lấy mẫu cho hướng tia tiếp theo? Đây chỉ là một lựa chọn ngẫu nhiên? Nếu vậy, các trọng số bằng nhau được gán cho các lớp hay là các trọng số được sử dụng dựa trên sự đóng góp cuối cùng của một thùy? Cảm ơn cho bất kỳ cái nhìn sâu sắc trong giai đoạn lấy mẫu này.

~ M

Câu trả lời:


12

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:

nhập mô tả hình ảnh ở đây

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:

nhập mô tả hình ảnh ở đây

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):

nhập mô tả hình ảnh ở đâ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ụ:

nhập mô tả hình ảnh ở đây

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:

nhập mô tả hình ảnh ở đây

Lr

Lr= =(fr1cosθ1pdf1(fr2cosθ2pdf2(fr3cosθ3pdf3(fr2cosθ4pdf2(LTôifr1cosθ5pdf1)))))

pdfLTôi

fr= =fr1fr2fr3fr2fr1

pdf= =pdf1pdf2pdf3pdf2pdf1

cosθ= =cosθ1cosθ2cosθ3cosθ2cosθ1

Lr= =(frcosθpdf)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.


1
Tôi muốn hỏi (hy vọng bạn nhớ bài báo) nếu bạn chắc chắn về việc thêm các thuật ngữ cosine cho mỗi lớp? Theo tôi hiểu, chúng tôi chỉ tính toán phương trình kết xuất ở lớp trên cùng. Chúng tôi đi xuống để xác định hướng đi cuối cùng và để xác định BRDF. Tôi có bỏ lỡ điều gì không?
Mustafa Işık

@ MustafaIşık Bạn nói đúng, trong bài báo họ không thêm các điều khoản cosin vào BRDF cuối cùng. Trên thực tế, tôi đã áp dụng một cách tiếp cận hơi khác so với phương pháp được đề xuất trong bài viết (tôi sẽ đưa nó vào câu trả lời của tôi). Trong bài báo, họ đề xuất định nghĩa về BRDF duy nhất từ ​​các BRDF phân lớp. Tôi thấy quy trình phái sinh hơi khó hiểu: 1) Tôi không hiểu tại sao họ thêm các BRDF riêng lẻ (tôi nghĩ rằng chúng nên được nhân lên);
Christian Pagot

t= =(1-G)+T21G

1
Bài viết có vẻ đơn giản nhưng không phải vì không phải mọi thuật ngữ cũng như chiến lược đều được giải thích rõ ràng đủ để thực hiện chính xác. Nó có ảnh hưởng, mặc dù. Của bạn giống như một mô phỏng tránh trên giấy nhưng chính xác hơn.
Mustafa Işık

3

Suy nghĩ về nó từ quan điểm vật lý, có vẻ như nó sẽ hoạt động giống như một phiên bản tổng quát của tính toán khuếch tán / đặc tả.

Bạn sẽ bắt đầu với lớp trên cùng và sử dụng fresnel, v.v để tính tỷ lệ phần trăm ánh sáng phản xạ so với truyền. Sau đó, bạn sử dụng một số ngẫu nhiên để xác định những điều này sẽ làm cho mẫu của bạn.

Trong trường hợp phản chiếu, bạn sẽ thực hiện thùy đặc trưng của lớp trên cùng của bạn, phản xạ khỏi bề mặt và di chuyển.

Trong trường hợp truyền, bạn sẽ chuyển sang lớp thứ 2.

Ở lớp này, một lần nữa bạn sẽ tính toán tỷ lệ phần trăm cơ hội để phản ánh so với truyền.

Trong trường hợp phản chiếu, bạn sẽ sử dụng thùy đầu cơ của lớp thứ hai này, thực hiện phản xạ và tiếp tục.

Trong trường hợp truyền, bạn sẽ chuyển sang lớp bên trong.

Đối với lớp bên trong này, một lần nữa bạn sẽ tìm ra nếu bạn cần phản ánh hoặc truyền tải.

Để phản chiếu, bạn sử dụng thùy đặc trưng của lớp bên trong này.

Để truyền, bạn sẽ thực hiện phép tính khuếch tán hoặc bất kỳ thứ gì khác mà bề mặt bên trong của bạn muốn làm cho ánh sáng truyền qua (tán xạ bề mặt phụ? Khúc xạ? Vv).

Tôi không chắc chắn nếu mỗi lớp nên thực hiện khúc xạ riêng và nếu về mặt kỹ thuật, bạn nên di chuyển tia một chút giữa các lớp để có được hiệu ứng thực tế hơn. Đối với trường hợp của bạn, nó có thể không làm cho một sự khác biệt.

Nhưng về cơ bản, nếu bạn có một hình cầu có 3 lớp trên đó, thì NÊN hành xử như thể bạn có 3 hình cầu khác nhau được lồng vào nhau, mỗi hình có một lớp duy nhất xử lý truyền và phản xạ.

Có một vật liệu lớp chỉ là một cách nhỏ gọn hơn để nói rằng đây là những gì bạn muốn, so với việc có ba đối tượng riêng biệt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.