আমি চোখের অভিযোজন এবং এইচডিআর পাশাপাশি টোন ম্যাপিং বাস্তবায়নের চেষ্টা করছি। আসলে আমি এটি ইতিমধ্যে বাস্তবায়ন করেছি তবে আমি ফলাফল নিয়ে সন্তুষ্ট নই এবং আমি মনে করি যে আমি কিছু ভুল করেছি।
আমার চূড়ান্ত চিত্র (পোস্টপ্রসেসিংয়ের আগে) আমি অর্ধ ভাসমান জমিনে সঞ্চয় করি। আমার কাছে 2 টি হেল্পার টেক্সচারও রয়েছে। প্রথমটি লগ লুমিন্যান্স এবং এগ্রি, সর্বনিম্ন এবং সর্বনিম্ন মাইপ-ম্যাপে এটির সর্বাধিক রঙ সঞ্চয় করে। দ্বিতীয়টি সঞ্চয়ী মানটিকে যা হিসাবে গণনা করা হয়:
prevLum + (avgLum - prevLum) * (1.0 - exp2(-adaptionRate))
যেখানে prevLum পূর্বের অভিযোজিত মান (এই টেক্সচারের আকার 1x1)। লগ লুমিন্যান্স টেক্সচারটি আর 8 বি 8 জি 8 ফর্ম্যাট এবং দ্বিতীয়টি আর 8। টিউটোরিয়ালে আমি দেখেছি যে অর্ধেক ফ্লোট টেক্সচার ব্যবহার করা হয়েছে তবে আমার ক্ষেত্রে আমি খুব উজ্জ্বল চিত্র পেয়েছি (প্রায় সাদা)।
চূড়ান্ত পোস্ট প্রসেসার শেডারে আমি এই কোডটি ব্যবহার করে চোখের অভিযোজন এবং টোন ম্যাপিংয়ের জন্য সমস্ত মান ব্যবহার করছি:
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);
এবং এখানে আমার ফলাফল:
- চোখের অভিযোজন এবং টোন ম্যাপিং চালু
- চোখের অভিযোজন শুধুমাত্র
- টোন ম্যাপিং শুধুমাত্র
- সব বন্ধ
যেমন আপনি দেখতে পাচ্ছেন যে কখন টোন ম্যাপিং চালু হয় বনি কালারটি পলার হয়। এবং যখন চোখের অভিযোজনটি চূড়ান্ত চিত্র চালু করা হয় তখন আরও গাer় হয়। কেউ কি আমাকে ব্যাখ্যা করতে পারে যে এর কারণ কী হতে পারে, কারণ আমি মনে করি যে এখানে কিছু ভুল আছে। সম্ভবত এটি রঙিন জায়গাগুলির সাথে এমন কিছু যা আমি ভালভাবে বুঝতে পারি না? বা টোপ ম্যাপিং এবং চোখের অভিযোজনের আগে প্রয়োগ করা ফুলের সাথে?
চোখের অভিযোজন নিয়ে আমার আরও একটি অদ্ভুত আচরণ রয়েছে। আমি যখন অন্ধকার অঞ্চলগুলি খুঁজছি তখন পটভূমি (আকাশ) আরও উজ্জ্বল হয়। এটি ঠিক আছে তবে ক্যামেরার কেন্দ্রটি কালো অঞ্চলে থাকলে সর্বদা এটি ঘটে (ক্যামেরাটি এই অঞ্চল থেকে কতটা দূরে থাকুক না কেন)।
আমি এই পৃষ্ঠাগুলিতে প্রকল্পগুলিতে অন্তর্ভুক্ত বাস্তবায়নের ভিত্তি করেছি: জন চ্যাপম্যান , নটি সফটওয়্যার