Trong theo dõi tia / theo dõi đường đi, một trong những cách đơn giản nhất để chống bí danh hình ảnh là thay thế các giá trị pixel và lấy trung bình các kết quả. I E. thay vì chụp mọi mẫu thông qua trung tâm của pixel, bạn bù lại một số lượng mẫu.
Khi tìm kiếm trên internet, tôi đã tìm thấy hai phương pháp khác nhau để làm điều này:
- Tạo mẫu theo cách bạn muốn và cân kết quả với bộ lọc
- Một ví dụ là PBRT
- Tạo các mẫu có phân phối bằng hình dạng của bộ lọc
- Hai ví dụ là smallpt và Benedikt Bitterli 's von Renderer
Tạo và cân
Quy trình cơ bản là:
- Tạo các mẫu theo cách bạn muốn (ngẫu nhiên, phân tầng, trình tự sai lệch thấp, v.v.)
- Bù đắp tia camera bằng hai mẫu (x và y)
- Kết xuất cảnh với tia
- Tính trọng lượng bằng cách sử dụng chức năng lọc và khoảng cách của mẫu trong tham chiếu đến tâm pixel. Ví dụ: Bộ lọc hộp, Bộ lọc lều, Bộ lọc Gaussian, v.v.)
- Áp dụng trọng lượng cho màu từ kết xuất
Tạo theo hình dạng của bộ lọc
Tiền đề cơ bản là sử dụng Inverse Transform Sampling để tạo các mẫu được phân phối theo hình dạng của bộ lọc. Ví dụ, biểu đồ của một mẫu được phân phối theo hình dạng của Gaussian sẽ là:
Điều này có thể được thực hiện chính xác hoặc bằng cách ghép hàm vào pdf / cdf riêng biệt. smallpt sử dụng cdf nghịch đảo chính xác của bộ lọc lều. Ví dụ về phương pháp binning có thể được tìm thấy ở đây
Câu hỏi
Những ưu và nhược điểm của từng phương pháp là gì? Và tại sao bạn sẽ sử dụng cái này hơn cái kia? Tôi có thể nghĩ về một vài điều:
Tạo và Cân dường như là mạnh nhất, cho phép mọi sự kết hợp của bất kỳ phương pháp lấy mẫu nào với bất kỳ bộ lọc nào. Tuy nhiên, nó yêu cầu bạn theo dõi các trọng số trong ImageBuffer và sau đó thực hiện giải quyết cuối cùng.
Tạo trong Hình dạng của Bộ lọc chỉ có thể hỗ trợ các hình dạng bộ lọc tích cực (ví dụ: không có Mitchell, Catmull Rom hoặc Lanczos), vì bạn không thể có pdf âm. Nhưng, như đã đề cập ở trên, việc thực hiện sẽ dễ dàng hơn vì bạn không cần theo dõi bất kỳ trọng lượng nào.
Mặc dù, cuối cùng, tôi đoán bạn có thể nghĩ phương pháp 2 là đơn giản hóa phương thức 1, vì về cơ bản, nó sử dụng trọng lượng của Bộ lọc Hộp ẩn.