Tôi sẽ thêm một số hướng dẫn để giúp người đọc hiểu câu nói của Benedikt Bitterli "Hãy chắc chắn để gamma chỉnh sửa hình ảnh của bạn".
Gamma sửa ảnh không có nghĩa là áp dụng bộ lọc nguồn ở cuối. Nó có nghĩa là làm việc trong không gian tuyến tính trong tất cả các tính toán, và cuối cùng mã hóa đầu ra vào không gian gamma.
Không gian Gamma là không gian màu mà tất cả các máy hiển thị ở độ tuổi này mong muốn các giá trị RGB được hiển thị cho chúng.
Không gian tuyến tính đối lập, là thực tế làm việc với các giá trị tỷ lệ thuận với phát thải vật lý.
Do đó, khi nghệ sĩ chỉnh sửa các giá trị của màu albedos của bề mặt thế giới và màu của ánh sáng của cảnh, anh ta thực hiện nó trong không gian gamma vì không có phần mềm phiên bản nào dám sửa đổi những gì người dùng đã nhập và chỉ lưu lại Là. Vì vậy, nghệ sĩ đã nhìn vào một cái gì đó có vẻ tốt cho anh ta, trong khi được lưu trữ trong không gian gamma.
Vì vậy, bước đầu tiên của tất cả các công cụ kết xuất, nên là chuyển đổi tất cả đầu vào được chỉnh sửa của con người sang không gian tuyến tính trước tiên. Trong trường hợp của bạn, điều đó có nghĩa là tất cả các màu sắc hình cầu và giá trị khí thải.
Sau đó, bạn thực hiện raytracing thông thường, đánh giá brdf, lấy mẫu monte carlo, bất cứ quy trình nào, trong HDR nếu có thể sử dụng float32
các thành phần nếu có thể. (thường hoạt động tốt với 128 bit SIMD dưới dạng r,g,b,a
vectơ).
Cuối cùng, bạn điều chỉnh bộ lọc hình ảnh HDR theo giá trị phơi sáng bạn chọn, theo phương pháp heuristur hoặc thủ công. Thao tác này có thể rất đơn giản như a clamp
. Và sau đó và chỉ sau đó, bạn mã hóa hình ảnh cuối cùng vào không gian gamma.
Cơ sở là: một màn hình sẽ lấy giá trị đầu vào x và áp dụng công thức x ^ 2.2 để tạo ra bức xạ vật lý trên pixel đầu ra.
Do đó, các công thức chuyển đổi diễn ra như sau:
tuyến tính đến gamma: x ^ (1 / 2.2)
gamma thành tuyến tính: x ^ 2.2
Xin lưu ý là câu đố rằng không gian sRGB có công thức phức tạp, a if
và một số bù. Nhưng nhìn từ xa đường cong rất rất gần với gamma đơn giản.
Điều thứ hai cần tính đến, bạn có chắc chắn việc lấy mẫu của bạn là công bằng?
Bạn có thể lấy mẫu quá nhiều theo hướng cho phép nhiều tia tới bầu trời hơn. kiểm tra tính đồng nhất của mẫu của bạn. Bạn nói rằng bạn sử dụng một gaussian có vẻ như tôi sẽ yêu cầu sự thiên vị. Chỉ cần sử dụng lấy mẫu phân phối Lambert cổ điển: https://pathtracing.wordpress.com/
bằng cách này bạn giảm số lượng mẫu cần thiết để có được phương sai tương đương với hình cầu hoàn toàn đồng nhất. và bạn cũng lưu đánh giá cosine vì nó được nhúng trong bản phân phối.
Cuối cùng, nếu các quả cầu của bạn thực sự là gương và GI của bạn được cho là thực sự hoạt động, nó sẽ tích lũy năng lượng phản xạ trên mặt đất, do đó bù cho bóng của bạn không bị tắc. Tôi thậm chí mong đợi sẽ thấy nhiều năng lượng hơn là tối trong những trường hợp như vậy.