জাল যখন / কোথায় লুকানো থাকে তখন কীভাবে পোস্ট-প্রক্রিয়াজাত জাল আউটলাইনটি লুকানো যায়


10

আমি আমার 3 ডি ইঞ্জিনে একটি সক্রিয় রূপরেখা স্থাপনের জন্য কাজ করছি, পর্দার নির্বাচিত 3 ডি অক্ষর বা দৃশ্যের জন্য একটি হাইলাইট এফেক্ট। স্টেনসিল বাফারের সাথে কাজ করার পরে এবং কিছু অসন্তুষ্টিজনক ফলাফল পাওয়ার পরে (অবতল আকারগুলির সাথে সমস্যা, ক্যামেরা থেকে দূরত্বের কারণে বাহ্যরেখা বেধ এবং আমার ডেস্কটপ এবং ল্যাপটপের মধ্যে অসঙ্গতি), আমি প্রান্ত সনাক্তকরণ এবং ফ্রেম বাফার নমুনায় স্যুইচ করেছি এবং আমি একটি রূপরেখা পেয়েছি বেশ সন্তুষ্ট

যাইহোক, নির্বাচিত জাল যখন অন্য জালের পিছনে থাকে তখন আমি রূপরেখাটি আড়াল করতে সক্ষম নই। এটি আমার প্রক্রিয়াটি উপলব্ধি করে তোলে, যেহেতু আমি কেবল দৃশ্যের বাকী অংশটি রেন্ডার করার পরে ফ্রেম বাফার থেকে 2 ডি শেডার রূপরেখাটি সরবরাহ করি।

আমার ফলাফলগুলির দুটি স্ক্রিন ক্যাপচার নীচে রয়েছে। প্রথমটি একটি "ভাল" রূপরেখা, দ্বিতীয়টি বাহ্যরেখার উত্সকে অবরুদ্ধ করে এমন জাল দিয়ে আউটলাইনটি দেখা যায়।

এখানে চিত্র বর্ণনা লিখুন

রেন্ডারিং প্রক্রিয়াটি এর মতো চলে: 1) ফ্রেম বাফার (ফ্রেমবফার 1) এ একটি কালো সিলুয়েট ক্যাপচার করে হাইলাইটেড জালটির কেবল আলফা আঁকুন।

2) ফ্রেমবফার 1 থেকে দ্বিতীয় শেডারে প্রান্তটি দিন যা প্রান্ত সনাক্তকরণ সম্পাদন করে per ফ্রেমবফার 2 এ ধার ক্যাপচার করুন।

3) পুরো দৃশ্যটি রেন্ডার করুন।

4) দৃশ্যের শীর্ষে ফ্রেমবফার 2 থেকে টেক্সচারটি রেন্ডার করুন।

কীভাবে সম্পাদন করতে হবে এবং তাদের বৈধতা সম্পর্কে, বা সহজ বা আরও ভাল পদ্ধতির বিষয়ে মতামত পাওয়ার প্রত্যাশায় আমার কয়েকটি ধারণা রয়েছে।

প্রথমত, আমি পুরো দৃশ্যের ফ্রেম বাফারকে রেন্ডারিং এবং আলফা চ্যানেলে হাইলাইটেড জালটির দৃশ্যমান সিলুয়েট সংরক্ষণ করার কথা চিন্তা করেছি (হাইলাইটেড জাল যেখানে দেখা যায় সেখানে সমস্ত সাদা)। আমি তখন আলফা চ্যানেলে প্রান্ত সনাক্তকরণ সম্পাদন করব, দৃশ্যের ফ্রেম বাফার রেন্ডার করব এবং তারপরে শীর্ষে প্রান্তটি রেন্ডার করব। এরকম কিছুতে ফলাফল:

ফলাফল

এটি সম্পাদন করার জন্য, আমি কেবলমাত্র হাইলাইটেড অবজেক্টের রেন্ডার পাসের সময় কোনও সংজ্ঞা স্থাপনের কথা ভাবছিলাম যা কোনও দৃশ্যমান পিক্সেলের জন্য আলফায় সমস্ত কালো আঁকবে।

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

আমি এই প্রকল্পের জন্য LibGDX ব্যবহার করছি এবং ওয়েবজিএল এবং ওপেনজিএল ইএসকে সমর্থন করতে চাই, তাই জ্যামিতির শেডার বা আরও নতুন জিএলএসএল ফাংশনগুলির সাথে জড়িত কোনও সমাধান আমার কাছে উপলভ্য নয়। যদি কেউ আমার প্রস্তাবিত পদ্ধতির বিষয়ে মন্তব্য করতে পারে বা আরও ভাল কিছু প্রস্তাব করতে পারে আমি সত্যই এটির প্রশংসা করব।


আপনার রেপো এক নজর ছিল। আপনি কি কখনও গ্রহণযোগ্য কাজ খুঁজে পেয়েছেন?
iKlsR

উত্তর:


0

কিছুটা সেট করার জন্য এবং বিটটি ফেলে দেওয়ার / অপসারণের জন্য অন্য কোনও কিছুর জন্য আমি পুরো দৃশ্যটি স্টেনসিল বাফারে রেন্ডার করব।

তারপরে প্রান্ত সনাক্তকরণ থেকে মুক্তি পান, আপনার এটির দরকার নেই, পরিবর্তে আপনি কেবল কিছুটা বাফার স্কেল করতে পারেন। সুতরাং প্রতিটি বস্তু সামান্য বৃদ্ধি পায়।

সেখান থেকে আপনার স্টেনসিল বাফারের আপনার প্রয়োজনীয় রূপরেখা থাকতে পারে। আপনি যে অন্যান্য বস্তুগুলি সরবরাহ করছেন তা আপনার স্টেনসিল বাফারের বিটগুলি বন্ধ করে দিচ্ছে তা নিশ্চিত করার জন্য এটিই সমস্ত কিছু।


2
জবাবের জন্য ধন্যবাদ. স্কেলিং 3 ডি-তে করা হলে এই পদ্ধতিটি কি ডাব্লু / রূপরেখা বেধ এবং অবতল আকারগুলিতে চলে না? বা স্থানচ্যুতি বিষয়গুলি যদি এটি 2 ডি-তে করা হয় এবং বাহ্যরেখানো বস্তুটি পর্দার ডেড সেন্টারে না থাকে?
শনিবার

0

1) একটি ফ্রেম বাফার অবজেক্টে, আপনি কনট্যুরটি পেতে জিপিইউতে একটি ল্যাপ্যালাকিয়ান শ্যাডার চালাতে পারেন।

2) আপনি যখন এফবিওতে আপনার বস্তুটি আঁকেন তখন আপনাকে চূড়ান্ত গভীরতা বাফার ব্যবহার করতে হবে, আপনি কেবল এফবিওতে আপনার অবজেক্টের দৃশ্যমান অংশটি আঁকবেন, এবং ল্যালাপাসিয়ান কেবল দৃশ্যমান অংশটি কনট্যুর করবেন।


হাই, উত্তর দেওয়ার জন্য ধন্যবাদ। আমি আমার যে রূপরেখাটি পেয়েছি তা অর্জনের জন্য এটি ইতিমধ্যে করছি। আমি মনে করি না যদিও আপনি এই উত্তরের একটি ডাউনটাউটের যোগ্য, তবে এতটা উচ্চমানের।
শনিবার

0

আমি আশা করি আমি এটি পরিষ্কার করতে পারব, তবে মূলত আপনাকে উভয় বস্তুর স্টেনসিল তৈরি করতে হবে যেন তারা উভয়ই নির্বাচিত হয়, তবে কেবলমাত্র আপনি যে আইটেমটি হাইলাইট করতে চান সেটির সীমানা বাক্সে কেবল অঞ্চলগুলি রাখুন।

সুতরাং মূলত আপনি নির্বাচিত উভয় অবজেক্টের একটি স্টেনসিল বাফার তৈরি করেন (বা সমস্ত বস্তু যা অবজেক্টটিকে অন্তর্ভুক্ত করে, সত্যই ... তবে আমি যদি এই ঘটনাগুলি আসলে অনেক কিছু না সামনে আসে সে বিষয়ে আমি উদ্বিগ্ন হব না - যদি এর ফলে লোকেরা প্রত্যাশা না করে তবে এই অনেক সহায়তা), এবং এটি আপনার অবজেক্টের জন্য সীমাবদ্ধ বাক্সের স্টেনসিল সহ।

এটি আপনার সন্ধান করা প্রভাবটি পাওয়া উচিত।

বিকল্পভাবে আপনি কেবল 'খারাপ' ফলাফলটি ছেড়ে যেতে পারেন এবং আমি মনে করি না যে বেশিরভাগ লোকেরা খুব বেশি যত্নশীল হবে, যদিও এটি আপনার ডেটা / গেম এবং বিশেষত বস্তুর আকারের উপর নির্ভর করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.