যেহেতু আপনি অভিজ্ঞতা চেয়েছেন, এখানে আমার।
আমি যখন পিএস 2 গেমস প্রোগ্রাম করছিলাম তখন আমি "লেয়ার্ড আলফা কোয়াডস" পন্থাটি এমন একটি উপায় ছিল যা আমরা প্রায়শই কুয়াশা প্রয়োগ করি। মাঝেমধ্যে গ্রাউন্ড কুয়াশা হিসাবে, তবে পুরোপুরি স্ক্রীন কুয়াশা হিসাবে বেশি। এবং এটি উভয় ক্ষেত্রে ঠিক কাজ করেছে। হ্যাঁ, প্রাক-খণ্ড-শেডার দিনগুলিতে এটি কার্যকর ছিল।
ভাল ধরণের. সমস্যাটি যেমনটি আপনি উল্লেখ করেছেন যে হ'ল আপনি যদি স্ক্রিনশটের মতো মসৃণ কুয়াশা চান তবে আপনার আলফা কোয়াডের চেয়ে একটি অযৌক্তিক সংখ্যার প্রয়োজন।
পিএস 2 এ আমরা সাধারণত তিন থেকে পাঁচ স্তরগুলির মধ্যে কোথাও বহন করতে পারি। যা অবশ্যই আপনার সামনে ভাসমান কুয়াশার "দেয়াল" এর মতো লাগছিল। এর চেয়েও বেশি এবং ভরাট হারটি আমাদের ফ্রেমের হারকে মারতে শুরু করে।
সাধারণত, এই কোয়াডগুলি ক্যামেরার সামনে স্থির দূরত্বে আঁকতে হবে, সুতরাং আপনি যে পরিস্থিতিটি উল্লেখ করেছেন এমন পরিস্থিতি কখনই পেলেন না, যার মধ্যে একটির মধ্য দিয়ে চলুন। অন্যদিকে, এই নির্ধারিত দূরত্বগুলি ব্যবহার করে, বিশ্বের অন্য সমস্ত কিছুই করেখেলোয়াড় যেমন ঘোরাফেরা করে ততক্ষণে সেই প্লেনগুলি পার করুন, এটি একটি দুর্দান্ত স্পষ্ট গ্রাফিকাল গণ্ডা। প্রায় সকলেই এটি ফিরিয়ে দিয়েছিল তবে এখন এটি গ্রহণযোগ্য হবে না (যদি আপনি স্টাইলিস্টিক কারণে এটি না করেন)। (ব্যতিক্রম: পিএস 2 এর সমতুল্য একটি ভার্টেক্স শ্যাডারের অংশ হিসাবে কিছু লোকেরা কুয়াশার মানগুলি গণনা করেছে worked এটি কাজ করেছিল এবং অনেক দ্রুত ছিল, তবে আপনার মডেলগুলিকে খুব বেশি পরীক্ষা করা প্রয়োজন You আপনার দীর্ঘ প্রাচীর থাকতে পারে না, উদাহরণস্বরূপ, কারণ কুয়াশা কেবল ছিল প্রাচীরের কোণে গণনা করা হচ্ছে, এবং তারপরে প্রাচীরের পুরো মুখ জুড়ে ঘ্রাণ দেওয়া হচ্ছে wall প্রাচীরটি সম্পূর্ণরূপে কুয়াশিত দেখা গেছে যদি আপনি এর মাঝের ঠিক সামনে দাঁড়িয়ে থাকেন, উদাহরণস্বরূপ, যেহেতু এটি কেবলমাত্র কুয়াশার মাত্রাগুলি পরীক্ষা করছে তার এন্ড পয়েন্ট)
মনে রাখবেন যে আপনি যদি বিশ্বে স্থিরভাবে কুয়াশার কোয়াড স্থাপন করেন (যেমনটি আপনি একটি সম্ভাব্য হিসাবে উল্লেখ করেছেন), তবে আপনি যে চিত্রটি সরবরাহ করেছেন তেমন চরম মসৃণ কুয়াশার উপস্থিতি অর্জন করতে সক্ষম হবেন না - এর মধ্যে বিজোড় ওভারল্যাপ থাকবে দর্শকের অরিয়েন্টেশনের উপর নির্ভর করে সংলগ্ন কোয়াডস। এই ওভারল্যাপগুলি স্ট্রাইপ বা ট্র্যাপিজয়েড হিসাবে উপস্থিত হতে পারে (যদি কোয়াডগুলি অরক্ষিত হয়) বা ক্লাম্প হিসাবে (যদি তারা টেক্সচারযুক্ত হয়)।
তবে ধরে নেওয়া যাক আমরা এই গ্রাউন্ড কুয়াশাটি করতে প্রশস্ত, পর্দার মুখোমুখি কোয়াড ব্যবহার করছি এবং কীভাবে এই পদ্ধতিটি ব্যবহার করে ফ্ল্যাট গ্রাউন্ডে সোজা সামনে তাকানো যায় তার জন্য কিছু গণনা করি - এটি আমাদের আদর্শ পরিস্থিতি । আসুন এইচডি রেজোলিউশন ধরে নিই: 1920x1080, যা আমাদের দিগন্তকে স্ক্যানলাইন 540 এ ফেলেছে। আসুন আমরা ধরে নিই যে আমাদের দিগন্তের সমস্ত পথই দৃশ্যমান রয়েছে (এটি ধরে নিলেন যে দিগন্তে পৌঁছানোর আগে আপনার কাছে কুয়াশা পূর্ণ অস্বচ্ছতায় পৌঁছেছে না)। একটি ধোঁয়া কোয়াড শুরু এবং প্রতিটি স্ক্যানলাইনে একটি থামার সাথে (মসৃণ কুয়াশা পেতে) আমাদের প্রয়োজন (540 * 2 ==) 1080 কুয়াশা কোয়াড। এই প্রতিটি 1080 টি কুয়াশা কোয়াড স্ক্রিনের পুরো অনুভূমিক প্রসারিত করবে,
আসুন কম অনুমান করুন এবং বলুন যে, গড়ে একটি কুয়াশা বিমানটি প্রায় 300 সারি পিক্সেলের আচ্ছাদন করে। নিকটতমগুলি কম কভার করবে, সর্বাধিকতমগুলি কম কভার করবে, মাঝারি সারিগুলি আরও অনেকগুলি কভার করবে।
এই অনুমানের সাথে, আমরা পাই (1920x300 ==) 576,000 পিক্সেল গড় কুয়াশা কোয়াড দ্বারা স্পর্শ করা হচ্ছে। মোট, এটি (576,000 * 1080 ==) 622,080,000 পিক্সেল পুরো "স্পর্শকাতর জ্যামিতির প্রচুর রেন্ডারিংয়ের মাধ্যমে মসৃণ কুয়াশা" প্রভাবের জন্য মোট ছোঁয়া হচ্ছে। এবং এই সংখ্যাটি উচ্চতর রেজোলিউশনে চালিত লোকদের জন্য এগিয়ে যাবে। এবং আরও কী, আমরা জেড-বাফারের বিপরীতে একই সংখ্যক পরীক্ষাগুলি পেয়েছি এবং প্রায় একই সংখ্যক পিক্সেল মিশ্রণ ক্রিয়াকলাপ, যেহেতু এই সমস্ত স্বচ্ছ স্তরগুলি একে অপরের উপর বার বার আঁকছে। এটি অনেকটা পিক্সেল।
এবং এটি সর্বোত্তম কেস দৃশ্যাবলী - যদি ব্যবহারকারী নীচের দিকে তাকান বা ক্রাউচ করেন তবে আপনি কুয়াশার কোয়াডের অনেক বেশি স্ক্রিন কভারেজ পাবেন।
মনে রাখবেন যেহেতু আমরা 1080 কোয়াডকে ওভারল্যাপ করছি, আমরা সম্ভবত প্রতিটিটির উপর (1.0 / 1080 ~ =) 0.0009 সেট এর একটি আলফা মান চাই, যাতে আপনি যদি সমস্ত 1080 কোয়াড দেখতে চান তবে আমাদের কুয়াশা সম্পূর্ণ অস্পষ্টতায় পৌঁছে যায়। (আমরা এর চেয়েও বেশি যেতে পারব, তবে এটি এমন মান ধরে নেওয়া হচ্ছে যে আমরা যতটা সম্ভব পরিসীমা ছড়িয়ে দিতে চাই)) মনে রাখবেন যে এই মানটি 32-বিট রঙের মান (256 * 0.0009 0.2 = 0.237 এর আলফা উপাদান হিসাবে প্রতিনিধিত্ব করতে পারে না এবং তাই চেষ্টা করলে এটি 0 এর চেয়ে কম হয়)। এটিকে কাজ করার জন্য আপনাকে ওপেনজিএলকে 0.0009 মানটি ভাসমান পয়েন্টের মান হিসাবে সরবরাহ করতে হবে। (এছাড়াও নোট করুন যে আপনি প্রকৃতপক্ষে প্রতিটিের জন্য এই একই মানটি সেট করতে চাইবেন না - যদিও আমরা নির্ধারণ করেছি যে আমাদের মসৃণ কুয়াশা দেওয়ার জন্য আমরা এক কোয়াড শুরু করতে এবং একটি দিগন্তের নীচে প্রতিটি স্ক্যানলাইন শেষ করতে চাই,
এছাড়াও নোট করুন যে কুয়াশার মিশ্রণগুলি এই পদ্ধতিটি ব্যবহার করে সঠিকভাবে কাজ করবে না, যেমনটি তারা একটি আধুনিক শেডারের সাথে ব্যবহার করে - "এই শতাংশের সাহায্যে বেস অবজেক্টের রঙ এবং কুয়াশার রঙের মধ্যে মিশ্রণ" এর একটি গণনা পাওয়ার পরিবর্তে, আপনি 1080 পেয়েছেন "কুয়াশার শতাংশ দ্বারা রঙ এবং কুয়াশার রঙের মধ্যে এখনও পর্যন্ত মিশ্রণ" এর গণনা। যার অর্থ হ'ল কুয়াশা লোগারিথমিক ফলঅফ অনুসরণ করে অবজেক্টগুলিকে প্রভাবিত করতে চলেছে। (এটি, 20 কুয়াশা কোয়াড দ্বারা প্রভাবিত কোনও বস্তু 10 কুয়াশা কোয়াড দ্বারা প্রভাবিত কোনও কিছুর চেয়ে দ্বিগুণ চেয়ে কম প্রদর্শিত হবে, কারণ প্রথম কুয়াশা কোয়াড মিশ্রণ ক্রিয়ায় আরও প্রভাব ফেলে)।
এর সবকটিই বলতে হয়: দয়া করে কেবল একটি খণ্ড শেডার ব্যবহার করুন।
সত্যিই না. এটি সহজ এবং সস্তায় এবং দ্রুত এবং দ্রুত প্রয়োগ করতে এবং ত্রুটি-প্রবণতার চেয়ে কম এবং বাস্তবে আপনার গেমটি তৈরি করতে আপনাকে ফিরে পেতে দেয় এবং প্রতিটি সম্ভাব্য উপায়ে আরও ভাল। আমরা যদি পিএস 2 এর যুগে এটি সম্পূর্ণরূপে করতাম তবে যদি এটি এমনকি অস্পষ্টভাবে সম্ভব ছিল।