Tôi đang cố gắng thực hiện ánh xạ giai điệu cùng với điều chỉnh mắt và HDR. Trên thực tế tôi đã thực hiện điều này rồi nhưng tôi không hài lòng với kết quả và tôi nghĩ rằng tôi đã làm sai điều gì đó.
Hình ảnh cuối cùng của tôi (trước khi xử lý hậu kỳ) Tôi lưu trữ trong một nửa kết cấu float. Tôi cũng có 2 kết cấu trợ giúp. Cái đầu tiên lưu trữ độ chói và avg, min và max màu của nó trong bản đồ mip cuối cùng. Cửa hàng thứ hai lưu trữ giá trị thích ứng được tính là:
prevLum + (avgLum - prevLum) * (1.0 - exp2(-adaptionRate))
trong đó tiền tố là giá trị thích ứng trước đó (kích thước của kết cấu này là 1x1). Kết cấu độ chói của bản ghi là định dạng R8B8G8 và bản thứ hai là R8. Trong hướng dẫn tôi đã thấy rằng một nửa họa tiết nổi được sử dụng nhưng trong trường hợp của tôi, tôi đã có những hình ảnh quá sáng (gần như trắng).
Trong trình tạo bóng hậu xử lý cuối cùng, tôi đang sử dụng tất cả các giá trị để có được sự điều chỉnh mắt và ánh xạ giai điệu bằng mã này:
float autokey(in float lum) {
return 1.03 - 2.0 / (2.0 + log10(lum + 1.0));
}
float hejl(in float color) {
float x = max(0.0, color - 0.004);
return (x * (A * x + B)) / (x * (A * x + C) + D);
}
float adaptedLum = texture(adaptedLuminance, vec2(0.5)).r;
float exp = exposure * autokey(adaptedLum) / adaptedLum;
result *= exp;
result.xyz=RGB2xyY(result.xyz); // conversion to CIE xyY
result.z = hejl(result.z);
result.xyz=xyY2RGB(result.xyz);
Và đây là kết quả của tôi:
- thích ứng mắt và ánh xạ giai điệu bật
- chỉ thích ứng với mắt
- chỉ ánh xạ giai điệu
- mọi thứ tắt
Như bạn có thể thấy khi ánh xạ giai điệu được bật màu thỏ con nhạt hơn. Và khi mắt thích ứng được bật, hình ảnh cuối cùng sẽ tối hơn nhiều. Ai đó có thể giải thích cho tôi những gì có thể gây ra điều đó, bởi vì tôi nghĩ rằng một cái gì đó ở đây là sai. Có lẽ đó là một cái gì đó với không gian màu mà tôi không hiểu rõ? Hoặc với sự nở hoa được áp dụng trước khi lập bản đồ giai điệu và thích ứng mắt?
Tôi cũng có một hành vi kỳ lạ khác với sự thích nghi của mắt. Khi tôi nhìn vào các vùng tối, nền (bầu trời) sẽ sáng hơn. Không sao nhưng nó luôn xảy ra khi trung tâm của máy ảnh nằm trên vùng màu đen (cho dù camera này cách khu vực này bao xa).
Tôi dựa trên cơ sở triển khai trong các dự án trên các trang này: John Chapman , Nutty Software