আমি সত্যই জানি না যে পরবর্তী জেনারেল ইঞ্জিনগুলি আজকাল কী ব্যবহার করছে, তবে আমি কী জানি তা আপনাকে জানাব। কোনও অপ্টিমাইজেশান এবং সেই অপ্টিমাইজেশনে সহায়তা করার জন্য ব্যবহৃত ডেটা স্ট্রাকচারের মধ্যে বিভ্রান্ত হওয়া সহজ। নীচে উল্লিখিত সমস্ত জিনিস অপটিমাইজেশনের জন্য, তবে আমি নির্দিষ্ট করে করব যে কোনটি বিশেষত ডেটা স্ট্রাকচার।
বিএসপি : ডেটা স্ট্রাকচার - একটি গতিশীল চলমান অবজেক্ট এবং স্থির বিশ্ব জ্যামিতির মধ্যে ছেদ সনাক্তকরণের জন্য detect জেবুফার ছাড়াই জ্যামিতির সঠিকভাবে সংঘর্ষ সনাক্তকরণ এবং রেন্ডারিংয়ের জন্য ব্যবহৃত হতে পারে তবে এখন আর এ্যাড বাফারের জন্য আমাদের পর্যাপ্ত স্মৃতি রয়েছে বলে এটি আর রেন্ডারিংয়ের জন্য আর ব্যবহার করা হয় না। এগুলি প্রযুক্তিগতভাবে কিছুটা আলাদাভাবে উত্পন্ন হলেও এখনও একই গাছের ধরণের হিসাবে বিবেচিত। প্রিপ্রোসেসিং প্রয়োজন।
অক্ট্রি বা কেডি-ট্রি : ডেটা স্ট্রাকচার - সমস্ত গতিশীল অবজেক্টগুলিতে এন ^ 2 পরীক্ষা করা এড়াতে একই "সেল" বা অঞ্চলে কোন অবজেক্টগুলি রয়েছে তা নির্ধারণের জন্য ব্যবহৃত হয়।
এগুলি কেবলমাত্র নয়, তবে সম্ভবত এটি সবচেয়ে সাধারণ। এছাড়াও অনেকগুলি অপ্টিমাইজেশন রয়েছে যা ইঞ্জিনকে সাধারণত জ্যামিতি রেন্ডারিং এড়াতে দেয়। তবে নিম্নলিখিতগুলি জ্যামিতিটি সরিয়ে দেয় এবং সাধারণত এটির জন্য ব্যবহৃত হয়:
পোর্টাল : প্রযুক্তিগতভাবে কোনও ডেটা স্ট্রাকচার নয়, তবে ক্লুলিংয়ের জন্য একটি বিশেষ প্রয়োজন। দর্শন থেকে বিশ্ব জ্যামিতি এবং গতিশীল অবজেক্ট জ্যামিতির দৃশ্যমানতা কুলিংয়ের জন্য ব্যবহৃত হয়। আমি মনে করি এমন অঞ্চলগুলিতে বিশ্বকে বিভক্ত করার জন্য প্রাকপ্রসেসিংয়ের প্রয়োজন। তবে আমি আসলে এটি প্রয়োগ করি নি, তাই আমি জানি না।
অন্তর্ভুক্তি কুলিং : অপ্টিমাইজেশন - আপনি যা চান তার জন্য দৃশ্যমানতা কুলিংয়ের জন্য ব্যবহৃত হয়, সম্ভবত গতিশীল বস্তু।
নিয়মিত ভিউপোর্ট কুলিং : অপ্টিমাইজেশন - কুল বস্তু যা ক্যামেরার দৃষ্টিতে নেই।
আরও ভিউপোর্ট কুলিং : অপ্টিমাইজেশান - নিয়মিত ভিউপোর্ট কুলিংটি আরও একটি অক্ট্রি ব্যবহার করে আরও অনুকূলিত করা যায়। আপনি অষ্টির সমস্ত কক্ষগুলি ক্যামেরার পিছনে থাকা বা তার দৃষ্টিতে দেখতে পাচ্ছেন না। এর মধ্যে ভূখণ্ডের প্যাচগুলি অন্তর্ভুক্ত রয়েছে (যদি আপনি বাইরে থাকেন)। অষ্ট্রি দিয়ে যা কিছু আসে না তা আপনি "নিয়মিত ভিউপোর্ট কুলিং" সম্পাদন করবেন। তারপরে, যা যা অবশিষ্ট থাকে, আপনি রেন্ডার করে দেবেন।
ব্যাকফেস কুলিং : অপ্টিমাইজেশন - রাস্টারাইজেশন প্রতিরোধের জন্য ক্যামেরা থেকে দূরে মুখরিত কুলগুলি জ্যামিতি। সাধারণত যদি রেন্ডার স্টেটটি সঠিকভাবে সেট করা থাকে তবে হার্ডওয়্যারে সম্পন্ন করা হয়।
বিশেষ ক্ষেত্রে তথ্য কাঠামো:
এএবিবি গাছ বা গোলক গাছ : এগুলি বিশেষ ধরনের ডেটা স্ট্রাকচার। তারা একটি অবতল আকারকে উত্তল আকারে পরিণত করে। উদাহরণস্বরূপ হাড়ের সাথে একটি চরিত্র প্রযুক্তিগতভাবে অবতল হয়। এটি এটিকে ছোট উত্তল টুকরো টুকরো টুকরো করে। সংঘর্ষ সনাক্তকরণ, গতিশীল অবজেক্টগুলির দৃশ্যমানতা কুলিং (সাধারণত) এবং এটি উত্তল হওয়ার কারণে ছেদ পরীক্ষা করা আরও সহজ করে তোলে। এগুলি একটি অষ্টা বলার ভিতরে যাবে কারণ তারা সাধারণত গতিশীল বস্তু হয়। এগুলি অন্তর্ভুক্তকরণ কুলিং অপ্টিমাইজেশান সহায়তা করতেও ব্যবহৃত হতে পারে।
সমস্ত কিছু উপস্থাপনের জন্য আপনাকে একটি একক কাঠামো ব্যবহার করার কারণ নেই (যেমন কোনও দৃশ্য গ্রাফ)। আমার মতে, আপনি কোনও ধরণের একটি সাধারণ উদ্দেশ্য গাছ ব্যবহার করার পরিবর্তে বিভিন্ন কাজের জন্য বিভিন্ন ডেটা স্ট্রাকচার ব্যবহার করা ভাল। উদাহরণস্বরূপ, বর্তমানে যে ইঞ্জিনটিতে আমি কাজ করছি, আমি নিম্নলিখিত অপটিমাইজেশনের সাথে একটি বিএসপি / অক্ট্রি / এএবিবি ট্রি সংমিশ্রণটি বাস্তবায়নের পরিকল্পনা করছি: অবসেশন ক্লুলিং, ভিউপোর্ট এবং অবশ্যই অবশ্যই ব্যাকফেস ক্লুলিং। এর অর্থ আমার এক বিএসপি গাছ, একটি অষ্টা গাছ এবং সম্ভবত এই অষ্টকের মধ্যে একাধিক আবাব গাছ থাকবে।
সেরা ডেটা স্ট্রাকচার এবং অ্যালগরিদম / অপটিমাইজেশন নির্বাচন আপনার ইঞ্জিনের জন্য সম্ভবত একক বৃহত্তম এবং সর্বাধিক উপকারী জিনিস।