Tuyên bố miễn trừ trách nhiệm: Tôi không biết trạng thái của nghệ thuật trong lấy mẫu bản đồ môi trường là gì. Trong thực tế, tôi có rất ít kiến thức về chủ đề này. Vì vậy, đây sẽ không phải là câu trả lời đầy đủ nhưng tôi sẽ xây dựng vấn đề bằng toán học và phân tích nó. Tôi làm điều này chủ yếu cho bản thân mình, vì vậy tôi nói rõ cho bản thân mình nhưng tôi hy vọng rằng OP và những người khác sẽ thấy nó hữu ích.
Chúng tôi muốn tính toán độ rọi trực tiếp tại một điểm tức là chúng tôi muốn biết giá trị của tích phân
trong đó là chức năng BSDF (Tôi nói rõ sự phụ thuộc vào bình thường sẽ hữu ích sau này), là sự tỏa sáng của bản đồ môi trường và là thuật ngữ cosin cùng với khả năng hiển thị ( nghĩa là dành cho ) nghĩa là if
I=∫S2f(ωi,ωo,n)L(ωi)(ωi⋅n)+dωi
f(ωi,ωo,n)L(ωi)(ωi⋅n)++(ωi⋅n)+=0(ωi⋅n)<0
Chúng tôi ước tính tích phân này bằng cách tạo mẫu liên quan đến hàm mật độ xác suất , công cụ ước tính là
Nω1i,…,ωNip(ωi)
I≈1N∑k=1Nf(ωki,ωo,n)L(ωki)(ωki⋅n)+p(ωki)
Câu hỏi là: Làm thế nào để chúng tôi chọn pdf sao cho chúng tôi có thể tạo các mẫu trong thời gian chấp nhận được và phương sai của công cụ ước tính ở trên là khá nhỏ.p
Phương pháp tốt nhất Chọntỷ lệ với integrand
Nhưng hầu hết các lần đó là rất tốn kém để tạo một mẫu theo pdf này, vì vậy nó không hữu ích trong thực tế.p
p(ωi)∼f(ωi,ωo,n)L(ωi)(ωi⋅n)+
Các phương pháp được đề xuất bởi OP:
Phương pháp một : Chọn tỷ lệ với thuật ngữ cosine
Phương pháp hai : Chọn tỷ lệ với EM
p
p(ωi)∼(ωi⋅n)+
pp(ωi)∼L(ωi)
Dựa vào tên của các bài báo được đề cập, tôi có thể đoán được một phần những gì họ làm (tiếc là tôi không có thời gian và năng lượng để đọc chúng ngay bây giờ). Nhưng trước khi thảo luận về những gì họ có thể làm nhất, hãy nói về chuỗi sức mạnh một chút: D
Nếu chúng ta có hàm của một biến thực, ví dụ . Sau đó, nếu nó hoạt động tốt thì nó có thể được mở rộng thành chuỗi
Trong đó là hằng số. Điều này có thể được sử dụng để xấp xỉ bằng cách cắt tổng số tại một số bước
Nếu đủ cao thì sai số thực sự rất nhỏ.f(x)
f(x)=∑k=0∞akxk
akfn
f(x)≈∑k=0nakxk
n
Bây giờ nếu chúng ta có hàm trong hai biến, ví dụ chúng ta chỉ có thể mở rộng nó trong đối số đầu tiên
trong đó là các hàm chỉ trong . Nó cũng có thể được mở rộng trong cả hai đối số
trong đó là hằng số. Vì vậy, chức năng với các đối số thực có thể được mở rộng như tổng quyền hạn của đối số đó. Một cái gì đó tương tự có thể được thực hiện cho các chức năng được xác định trên hình cầu.f(x,y)
f(x,y)=∑k=0∞bk(y)xk
bk(y)yf(x,y)=∑k,l=0∞cklxkyl
ckl
Bây giờ, hãy có một hàm được định nghĩa trên hình cầu, ví dụ . Hàm này cũng có thể được mở rộng theo kiểu tương tự như hàm của một tham số thực
trong đó là hằng số và là hình cầu hài . Điều hòa hình cầu thường được lập chỉ mục bởi hai chỉ số và được viết dưới dạng hàm trong tọa độ hình cầu nhưng điều đó không quan trọng ở đây. Điều quan trọng là có thể được viết dưới dạng tổng của một số hàm đã biết.f(ω)
f(ω)=∑k=0∞αkSk(ω)
αkSk(ω)f
Bây giờ chức năng có hai điểm trên hình cầu, ví dụ có thể được mở rộng trong các đối số đầu tiên của nó
hoặc trong cả hai đối số của nó
f(ω,ω′)
f(ω,ω′)=∑k=0∞βk(ω′)Sk(ω)
f(ω,ω′)=∑k,l=0∞γklSk(ω)Sl(ω′)
Vì vậy, làm thế nào là tất cả hữu ích?
Tôi đề xuất CMUNSM (Phương pháp lấy mẫu vô dụng điên rồ): Giả sử rằng chúng tôi có các mở rộng cho tất cả các chức năng, ví dụ
Nếu chúng ta cắm cái này vào tích phân chúng ta có
f(ωi,ωo,n)L(ωi)(ωi⋅n)+=∑k,l,m=0∞αklmSk(ωi)Sl(ωo)Sm(n)=∑n=0∞βnSn(ω)=∑p,q=0∞γpqSp(ωi)Sq(n)
I=∑k,l,m,n,p,q=0∞αklmβnγpqSl(ωo)Sm(n)Sq(n)∫S2Sk(ωi)Sn(ω)Sp(ωi)dωi
Trên thực tế, chúng tôi không còn cần Monte Carlo nữa vì chúng tôi có thể tính toán các giá trị của tích phân và sau đó đánh giá tổng (thực sự gần đúng tổng, chúng tôi sẽ chỉ tổng hợp một vài điều khoản đầu tiên) và chúng tôi nhận được kết quả mong muốn.∫S2Sk(ωi)Sn(ω)Sp(ωi)dωi
Điều này thật tuyệt nhưng chúng ta có thể không biết bản mở rộng của BSDF hoặc bản đồ môi trường hoặc các bản mở rộng hội tụ rất chậm do đó chúng ta sẽ phải mất rất nhiều thuật ngữ để có câu trả lời chính xác.
Vì vậy, ý tưởng không phải là để mở rộng trong tất cả các đối số. Một phương pháp có thể đáng để nghiên cứu là bỏ qua BSDF và chỉ mở rộng bản đồ môi trường, tức là
sẽ dẫn đến pdf:
p ( ω i ) ∼ K ∑ n = 0 β n S n ( ω i ) ( ω ⋅ n ) +
L(ωi)≈∑n=0KβnSn(ωi)
p(ωi)∼∑n=0KβnSn(ωi)(ω⋅n)+
Chúng ta đã biết làm thế nào để làm điều này với , đây không phải là phương thức thứ nhất . Tôi đoán là, nó được thực hiện trong một trong những bài báo cho cao hơn .KK=0K
Mở rộng hơn nữa. Bạn có thể mở rộng các hàm khác nhau trong các đối số khác nhau và thực hiện các công cụ tương tự như trên. Một điều nữa là, bạn có thể mở rộng ở các cơ sở khác nhau, tức là không sử dụng các sóng hài hình cầu mà các chức năng khác nhau.
Vì vậy, đây là ý kiến của tôi về chủ đề này, tôi hy vọng bạn đã tìm thấy nó ít nhất một chút hữu ích và bây giờ tôi đi đến GoT và giường.