উত্তর:
আমি আপনাকে "সহজ" সংস্করণ দেব এবং আপনার আগ্রহী যদি অন্য কেউ আপনাকে বিশদটি পূরণ করতে দেয় :)
মূলত 3 ডি অবজেক্টের মডেল করার দুটি উপায় রয়েছে। প্রথমটি হ'ল আপনি গেমগুলিতে প্রচুর পরিমাণে দেখতে পাচ্ছেন না এবং এটি কোনও অবজেক্টের আকৃতি নির্ধারণের জন্য নির্দিষ্ট, গাণিতিকভাবে সংজ্ঞায়িত বক্ররেখা ব্যবহার করে। এই পদ্ধতিটি ব্যবহার করে, বিশদের স্তরটি (ব্যবহারিকভাবে বলতে গেলে) "অসীম"। উদাহরণস্বরূপ একটি সিলিন্ডার নিন। একটি সিলিন্ডারটি খুব সাধারণ গাণিতিক শর্তে সংজ্ঞায়িত করা যায়: আপনার সত্যিকারের যা জানা দরকার তা হল সিলিন্ডারের শেষ প্রান্ত এবং দৈর্ঘ্য। জ্যামিতির ক্ষেত্রে, একটি 3D দৃশ্যে সিলিন্ডারটি রেন্ডার করার জন্য আমাদের এই তথ্যটি দরকার। তদুপরি, আমরা সিলিন্ডারটিকে আরও বড় বা ছোট করতে খুব সহজেই স্কেল করতে পারি; আমাদের যা করতে হবে তা হল ব্যাসার্ধের দৈর্ঘ্যের অনুপাত বজায় রাখা। আমরা জ্যামিতির প্রতিনিধিত্ব করতে একই সূত্রগুলি ব্যবহার করতে পারি তবে বিভিন্ন পরামিতি সহ। আমরা একটি টরাসকে উপস্থাপন করতে পারি ("ডোনাট" আকৃতি) পাশাপাশি সহজেই: আমাদের কেবল অভ্যন্তরীণ ব্যাসার্ধ এবং বাহ্যিক ব্যাসার্ধ জানতে হবে। এর থেকে আমরা বাইরের ব্যাসার্ধের মধ্যবর্তী ব্যাসার্ধকে বিয়োগ করে ডোনাটের দেহের ব্যাস (এবং সেইজন্য ব্যাসার্ধের "কেক") গণনা করতে পারি। বৃত্তাকার দেহটি অভ্যন্তরের ব্যাসার্ধ দ্বারা নির্ধারিত তোরণটি দিয়ে আবৃত হয়। এই ধরণের 3 ডি সংজ্ঞাটি দুর্দান্ত কারণ এটি তুলনামূলকভাবে সহজ (একটি ছোট মডেলের ফাইলের ফলস্বরূপ), এবং বিশদ স্তরের কোনও উল্লেখযোগ্য সীমা নেই। খারাপ দিকটি হ'ল আজকের ভিডিও হার্ডওয়্যার এই ধরণের মডেলগুলি দক্ষতার সাথে প্রক্রিয়া করার জন্য ডিজাইন করা হয়নি (যদি তা হয় তবে)। বৃত্তাকার দেহটি অভ্যন্তরের ব্যাসার্ধ দ্বারা নির্ধারিত তোরণটি দিয়ে আবৃত হয়। এই ধরণের 3 ডি সংজ্ঞাটি দুর্দান্ত কারণ এটি তুলনামূলকভাবে সহজ (একটি ছোট মডেলের ফাইলের ফলস্বরূপ), এবং বিশদ স্তরের কোনও উল্লেখযোগ্য সীমা নেই। খারাপ দিকটি হ'ল আজকের ভিডিও হার্ডওয়্যার এই ধরণের মডেলগুলি দক্ষতার সাথে প্রক্রিয়া করার জন্য ডিজাইন করা হয়নি (যদি তা হয় তবে)। বৃত্তাকার দেহটি অভ্যন্তরের ব্যাসার্ধ দ্বারা নির্ধারিত তোরণটি দিয়ে আবৃত হয়। এই ধরণের 3 ডি সংজ্ঞাটি দুর্দান্ত কারণ এটি তুলনামূলকভাবে সহজ (একটি ছোট মডেলের ফাইলের ফলস্বরূপ), এবং বিশদ স্তরের কোনও উল্লেখযোগ্য সীমা নেই। খারাপ দিকটি হ'ল আজকের ভিডিও হার্ডওয়্যার এই ধরণের মডেলগুলি দক্ষতার সাথে প্রক্রিয়া করার জন্য ডিজাইন করা হয়নি (যদি তা হয় তবে)।
অন্য উপায়টি হ'ল আমরা যে আকারটি উপস্থাপন করতে চাই তার আনুমানিক আকারের জন্য সাধারণ জ্যামিতি একত্রিত করা। আমরা টেসলেশন নামে একটি প্রক্রিয়া দিয়ে এটি করি । আমরা একটি সিলিন্ডারটিকে আরও আদিম আকারে ভেঙে টেসেললেট করতে পারি: দুটি বৃত্ত এবং দীর্ঘ আয়তক্ষেত্রগুলির একটি সিরিজ, যা বাইরের প্রান্তের চারপাশে মোড়ানো থাকে rap বৃত্তগুলি আরও অনেক ক্ষুদ্র ত্রিভুজগুলিতে বিভক্ত করা যেতে পারে, যেমন প্রান্তের সাথে আয়তক্ষেত্রগুলি পারে। শেষ ফলাফলটি কেবলমাত্র ত্রিভুজ দ্বারা গঠিত একটি মডেল :
বা, টরাস জন্য:
সুসংবাদটি হ'ল ভিডিও হার্ডওয়্যার এই ধরণের জ্যামিতি পরিচালনা করতে অনুকূলিত। আজকের জিপিইউগুলিতে প্রতি সেকেন্ডে টন এবং টন ত্রিভুজগুলি মন্থন করতে কোনও সমস্যা নেই। তবে, একটি সুস্পষ্ট সমস্যা রয়েছে: আমরা সমতল প্রান্তযুক্ত আকার ব্যবহার করে বাঁকা পৃষ্ঠগুলিকে উপস্থাপন করার চেষ্টা করছি। আমাদের সিলিন্ডার সিলিন্ডারের মতো দেখতে (ঘনকের বিপরীতে), আমরা এটিকে অনেকগুলি ভাঙতে চাইসামান্য ত্রিভুজ। আচ্ছা, আমরা কয়জন চাই? এটা নির্ভর করে. দৃশ্যটি রেন্ডার করতে কোন ধরণের হার্ডওয়্যার ব্যবহার করা হবে? দ্রুততর হার্ডওয়্যারটি ধীরে ধীরে হার্ডওয়্যারের চেয়ে ত্রিভুজগুলি দ্রুত সরবরাহ করতে পারে, দ্রুত ফ্রেমের হার তৈরি করে। অন্যান্য অন্যান্য বিষয়গুলি বিবেচনার জন্য রয়েছে, যেমন দৃশ্যে আরও কতগুলি অবজেক্ট উপস্থিত থাকবে এবং সেগুলি কতটা জটিল হবে? গেমগুলিতে, প্রদত্ত দৃশ্যে সাধারণত প্রচুর পরিমাণে অবজেক্ট থাকে। তদুপরি, বস্তুগুলি বিভিন্ন দৃশ্যের মধ্য দিয়ে ভ্রমণ করতে পারে, প্রতিটি প্রত্যক্ষদর্শনের জটিলতার বিভিন্ন স্তর রয়েছে। আমরা যখন আমাদের মডেলগুলি টেস্টলেট করি তখন ব্যবহারের জন্য বিশদ মাত্রাটি নির্ধারণ করা শক্ত ।
আরও একটি সমস্যা হ'ল জ্যামিতিক জটিলতা: যেখানে সিলিন্ডারের একটি বক্র-ভিত্তিক সংজ্ঞাটি খুব সাধারণ (ব্যাসার্ধ এবং দৈর্ঘ্য), সেখানে একটি পরীক্ষিত সংজ্ঞা সম্ভবত শত শত ত্রিভুজকে একত্রিত করে, যার প্রতিটিকে স্বাধীনভাবে সংজ্ঞায়িত করা প্রয়োজন। ফলস্বরূপ, আমাদের পরীক্ষামূলক মডেল ফাইলটি অনেক বেশি, অনেক বড় হবে। ধরা যাক আমাদের কাছে জটিল ব্যক্তির মতো কিছু গাণিতিকভাবে সংজ্ঞায়িত মডেল রয়েছে। আমাদের মডেল ফাইলটি কেবলমাত্র 24kb আকারের হতে পারে। ঠিক আছে, একবার সেই মডেলটি পরীক্ষিত হয়ে গেলে ফলাফলটি 24 এমবি (24,000 কেবি) হতে পারে। এটা বেশ পার্থক্য।
হার্ডওয়্যার টেসলেশন রিয়েল টাইমে (বা প্রায় রিয়েল টাইমে) হার্ডওয়্যার-অ্যাসিস্টড টেসেললেশন সম্পাদনের জন্য জ্যামিতি শেডারের সুবিধা গ্রহণ করে । মূলত, এটি গাণিতিকভাবে সংজ্ঞায়িত 3 ডি মডেল নেওয়ার এবং ভিডিও কার্ডের দক্ষতার সাথে রেন্ডার করতে পারে এমন একটি পরীক্ষামূলক বিন্যাসে রূপান্তরিত করার একটি ব্যবস্থা সরবরাহ করে। Ditionতিহ্যগতভাবে, গেম ডেভেলপাররা স্টুডিওতে টেসেললেশন সম্পাদন করেছে এবং গেমটি দিয়ে টেসেললেট মডেলগুলি প্রেরণ করেছে। হার্ডওয়্যার টেসলেশন গেমটি খেলোয়াড়ের কম্পিউটারে আসলে চলমান অবধি আমাদের এই প্রক্রিয়াটি পিছিয়ে দিতে দেয় । এর কিছু গুরুতর সুবিধা রয়েছে:
গেমের 3 ডি সামগ্রীর আকার নাটকীয়ভাবে হ্রাস পেয়েছে (কম ডিস্ক বা ছোট ডাউনলোড এবং কম হার্ড ডিস্কের স্থান প্রয়োজন)।
আমরা রিয়েল টাইমে বিশদের মাত্রাটি নিয়ন্ত্রণ করতে পারি । আমরা কি একটি গেমিং মেশিনের কাটিয়া প্রান্তে চলছে? যদি তা হয় তবে আমরা খুব উচ্চ স্তরের বিশদটি ব্যবহার করে টেসেললেট করতে পারি। আমরা কি সমন্বিত গ্রাফিক্স সহ একটি পুরানো ল্যাপটপ চালাচ্ছি? সমস্যা নেই; পারফরম্যান্স বাড়াতে আমরা কেবল বিশদের মাত্রা হ্রাস করতে পারি।
সুতরাং এটি এর সংক্ষেপে। এটি সম্ভবত ১০০% সঠিক নয়, কারণ আমি কোনও থ্রিডি প্রোগ্রামার নই, তবে এটি আপনাকে যে সমস্ত গোলমাল করছে সে সম্পর্কে আরও ভাল ধারণা দেওয়া উচিত :)।
চিয়ার্স,
মাইক
খুব খারাপ যে বেশিরভাগ বিকাশকারীরা এখন বা অদূর ভবিষ্যতে টেসলেশন ব্যবহার করছেন না। তারা এই মুহুর্তে টেস ব্যবহার করে কেবল তার উচ্চতা ম্যাপ অনুসারে বেশিরভাগ সমতল পৃষ্ঠতল স্থানান্তরিত করা। এটিও দেখতে সুন্দর চেহারা, তবে আমি এখনও মনে করি এটি আরও বেশি সক্ষম প্রযুক্তির একটি খারাপ ব্যবহার।