আমি আমার 3 ডি ইঞ্জিনে একটি সক্রিয় রূপরেখা স্থাপনের জন্য কাজ করছি, পর্দার নির্বাচিত 3 ডি অক্ষর বা দৃশ্যের জন্য একটি হাইলাইট এফেক্ট। স্টেনসিল বাফারের সাথে কাজ করার পরে এবং কিছু অসন্তুষ্টিজনক ফলাফল পাওয়ার পরে (অবতল আকারগুলির সাথে সমস্যা, ক্যামেরা থেকে দূরত্বের কারণে বাহ্যরেখা বেধ এবং আমার ডেস্কটপ এবং ল্যাপটপের মধ্যে অসঙ্গতি), আমি প্রান্ত সনাক্তকরণ এবং ফ্রেম বাফার নমুনায় স্যুইচ করেছি এবং আমি একটি রূপরেখা পেয়েছি বেশ সন্তুষ্ট
যাইহোক, নির্বাচিত জাল যখন অন্য জালের পিছনে থাকে তখন আমি রূপরেখাটি আড়াল করতে সক্ষম নই। এটি আমার প্রক্রিয়াটি উপলব্ধি করে তোলে, যেহেতু আমি কেবল দৃশ্যের বাকী অংশটি রেন্ডার করার পরে ফ্রেম বাফার থেকে 2 ডি শেডার রূপরেখাটি সরবরাহ করি।
আমার ফলাফলগুলির দুটি স্ক্রিন ক্যাপচার নীচে রয়েছে। প্রথমটি একটি "ভাল" রূপরেখা, দ্বিতীয়টি বাহ্যরেখার উত্সকে অবরুদ্ধ করে এমন জাল দিয়ে আউটলাইনটি দেখা যায়।
রেন্ডারিং প্রক্রিয়াটি এর মতো চলে: 1) ফ্রেম বাফার (ফ্রেমবফার 1) এ একটি কালো সিলুয়েট ক্যাপচার করে হাইলাইটেড জালটির কেবল আলফা আঁকুন।
2) ফ্রেমবফার 1 থেকে দ্বিতীয় শেডারে প্রান্তটি দিন যা প্রান্ত সনাক্তকরণ সম্পাদন করে per ফ্রেমবফার 2 এ ধার ক্যাপচার করুন।
3) পুরো দৃশ্যটি রেন্ডার করুন।
4) দৃশ্যের শীর্ষে ফ্রেমবফার 2 থেকে টেক্সচারটি রেন্ডার করুন।
কীভাবে সম্পাদন করতে হবে এবং তাদের বৈধতা সম্পর্কে, বা সহজ বা আরও ভাল পদ্ধতির বিষয়ে মতামত পাওয়ার প্রত্যাশায় আমার কয়েকটি ধারণা রয়েছে।
প্রথমত, আমি পুরো দৃশ্যের ফ্রেম বাফারকে রেন্ডারিং এবং আলফা চ্যানেলে হাইলাইটেড জালটির দৃশ্যমান সিলুয়েট সংরক্ষণ করার কথা চিন্তা করেছি (হাইলাইটেড জাল যেখানে দেখা যায় সেখানে সমস্ত সাদা)। আমি তখন আলফা চ্যানেলে প্রান্ত সনাক্তকরণ সম্পাদন করব, দৃশ্যের ফ্রেম বাফার রেন্ডার করব এবং তারপরে শীর্ষে প্রান্তটি রেন্ডার করব। এরকম কিছুতে ফলাফল:
এটি সম্পাদন করার জন্য, আমি কেবলমাত্র হাইলাইটেড অবজেক্টের রেন্ডার পাসের সময় কোনও সংজ্ঞা স্থাপনের কথা ভাবছিলাম যা কোনও দৃশ্যমান পিক্সেলের জন্য আলফায় সমস্ত কালো আঁকবে।
আমার দ্বিতীয় ধারণাটি হ'ল উপরে বর্ণিত বর্তমান রেন্ডার প্রক্রিয়াটি ব্যবহার করা, তবে নির্বাচিত জালের সিলুয়েটটি রেন্ডার করার সময় ফ্রেমবফার 1 এর আর, জি এবং বি চ্যানেলগুলিতে এক্স, ওয়াই এবং জেড স্থানাঙ্কগুলিও সংরক্ষণ করুন। এজ সনাক্তকরণগুলি সম্পাদনা করা হবে এবং ফ্রেমবফার 2 এ সংরক্ষণ করা হবে, তবে আমি আরজিবি / এক্সওয়াইজেড মানগুলি আলফার প্রান্তগুলি থেকে সিলুয়েট পর্যন্ত পৌঁছে দেব। তারপরে, দৃশ্যটি রেন্ডার করার সময়, আমি স্থিতি ফ্রেমবফার 2 এ সঞ্চিত প্রান্তের মধ্যে কিনা তা পরীক্ষা করব would যদি তা হয়, তবে আমি আরজিবি চ্যানেলগুলি থেকে প্রাপ্ত স্থানাঙ্কগুলির সামনে বা পিছনে কিনা তা নির্ধারণের জন্য বর্তমান খণ্ডটির গভীরতা পরীক্ষা করব (ক্যামেরা স্পেসে রূপান্তরিত)। যদি খণ্ডটি গভীরতার স্থানাঙ্কের সামনে থাকে তবে খণ্ডটি সাধারণত রেন্ডার হবে। খণ্ডটি যদি পিছনে থাকে তবে এটি শক্ত রূপরেখার রঙ হিসাবে উপস্থাপন করা হবে।
আমি এই প্রকল্পের জন্য LibGDX ব্যবহার করছি এবং ওয়েবজিএল এবং ওপেনজিএল ইএসকে সমর্থন করতে চাই, তাই জ্যামিতির শেডার বা আরও নতুন জিএলএসএল ফাংশনগুলির সাথে জড়িত কোনও সমাধান আমার কাছে উপলভ্য নয়। যদি কেউ আমার প্রস্তাবিত পদ্ধতির বিষয়ে মন্তব্য করতে পারে বা আরও ভাল কিছু প্রস্তাব করতে পারে আমি সত্যই এটির প্রশংসা করব।