আমি বাম 4 মৃত গেমটিতে জ্বলজ্বলীয় রূপরেখা প্রভাবটি প্রতিলিপি দেওয়ার চেষ্টা করছি। প্রভাবটি কোনও অবজেক্টের আউটলাইনটি আলোকিত করে তোলে, এমনকি যখন অবজেক্টটি অন্তর্ভুক্ত থাকে। এখানে প্রভাবটির একটি স্ক্রিনশট রয়েছে:
আমি আমার ওপেনজিএল ভিত্তিক প্রোগ্রামে এই প্রভাবটি প্রতিলিপি করতে কিছুটা সক্ষম হয়েছি। আমি বর্তমানে এটি করছি:
- এমন একটি রঙ এবং গভীরতার টেক্সচার তৈরি করুন যা ঝলমলে জিনিসগুলি উপস্থাপনের জন্য পর্দার আকারের অর্ধেক
- গ্লো রঙ / গভীরতার টেক্সচার সাফ করুন। রঙ কালো হয়ে গেছে is
- প্রতিটি আলোকিত বস্তুর জন্য, এটি একটি শক্ত রঙ হিসাবে গ্লো টেক্সচারে রেন্ডার করুন
- গ্লো টেক্সচারে একটি বিভাজ্য গাউসিয়ান ব্লার সম্পাদন করুন
- সম্পূর্ণ রেজোলিউশনের দৃশ্যটিকে স্বাভাবিক হিসাবে রেন্ডার করুন
- অতিরিক্ত দৃশ্যের সাথে দৃশ্যের সাথে সাধারণ দৃশ্যের সাথে মিশ্রিত করুন তবে কেবল অস্পষ্ট রূপরেখা রেখে অবজেক্টটি মাস্ক করতে গ্লো গভীরতার টেক্সচারটি ব্যবহার করুন।
এখানে আমার পদ্ধতির স্ক্রিনশট দেওয়া হল:
এখানে খণ্ডের শেডারটি দৃশ্যের সাথে আলোকিত জমিনকে একত্রিত করেছে:
uniform sampler2D glowColorTex;
uniform sampler2D glowDepthTex;
uniform sampler2D sceneColorTex;
void main()
{
vec2 uv = gl_TexCoord[0].st;
vec4 color = texture2D( sceneColorTex, uv);
float depth = texture2D( glowDepthTex, uv).r;
if(depth == 1.0) {
color += 2.0 * texture2D( glowColorTex, uv);
}
gl_FragColor = color;
}
আপনি দেখতে পাচ্ছেন, এটি বেশিরভাগ অংশের জন্য কাজ করছে বলে মনে হচ্ছে, তবে রূপরেখায় এলিয়াসিংটি খুব খারাপ।
বাহ্যরেখার অভ্যন্তরীণ প্রান্তটি মসৃণ করার জন্য কারও কি কোনও পরামর্শ আছে?
আমি কি প্রতি পিক্সেলের প্রতিবেশী গভীরতার মানগুলিকে নমুনা দিচ্ছি এবং গভীরতার মানগুলির সংখ্যার উপর ভিত্তি করে আলোককে স্কেল করব?
বা এর চেয়ে আরও ভাল কোনও পদ্ধতির সাহায্যে মসৃণ ফলাফল পাওয়া যাবে?