আধুনিক গেমগুলি মিররগুলির জন্য রেন্ডার টু টেক্সচার পদ্ধতির ব্যবহার করে কেন?


40

মারিও 64 বা ডিউকনুকিম 3 ডি এর মতো পুরানো গেমগুলির দিকে তাকানোর সময়, গেমের সমস্ত আয়নাগুলি প্রাচীরের দেহের পিছনে রাখা আয়নাটির সামনে জ্যামিতির অনুলিপি সহ কেবল গর্ত হয়। ডিউকনুকেম 3 ডি এর ক্ষেত্রে কেউ নো-ক্লিপটি সক্রিয় করতে এবং সেই মিররড রুমে চলে যেতে পারেন।

বিপরীতে আধুনিক গেমগুলি আয়নাগুলির জন্য রেন্ডার টু টেক্সচার পদ্ধতির ব্যবহার করে। এটি আয়নাগুলি যখন কাছাকাছি এলে লক্ষণীয়ভাবে পিক্সেলেটেড হয়ে যায়। আমি প্রথম যে গেমগুলি লক্ষ্য করেছিলাম তার মধ্যে একটি ছিল লুইগির ম্যানশন, তবে এটি প্রায় সমস্ত আধুনিক গেমগুলিতে ব্যবহৃত হয় বলে মনে হয়।

হার্ডওয়্যার বা ইঞ্জিনগুলির মধ্যে কোন পরিবর্তন এই দিনে দ্বিতীয় পদ্ধতির এত প্রভাবশালী হয়ে উঠেছে এবং এর কী কী সুবিধা রয়েছে? খাঁটি দৃষ্টিভঙ্গির ক্ষেত্রে প্রথম পন্থাটি উচ্চতর বলে মনে হয়, কারণ এটি পিক্সিলিটি সমস্যাগুলির দ্বারা ভোগেন না।


14
আপনি যদি দুটি ঘরের মধ্যে একটি দরজা উপর আয়না চান?
সুপারবেস্ট

উত্তর:


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

সুতরাং মূলত আরটিটি ব্যবহার করা প্রত্যেককে আরও বেশি স্বাধীনতা দেয়।


3 এ .: সর্বাধিক (পুরানো) এফপিএস গেম ইঞ্জিনগুলি দ্বিখণ্ডিত অ্যালগরিদম ব্যবহার করেছে (বিখ্যাত "পোর্টাল ইঞ্জিনের মতো" ডিওওএম ব্যবহার করে) যা ইতিমধ্যে দৃশ্যমানতা কুলিংয়ের জন্য (সম্ভবত সম্ভবত কোয়াড) বহুভুজগুলিতে ক্লিপিং করে do এই জাতীয় ইঞ্জিনগুলি আয়নাটির বাইরে মিররযুক্ত জ্যামিতির বিষয়ে চিন্তা না করে সহজেই আয়নাটির পিছনে একটি ঘরে একটি দর্শন পোর্টাল হিসাবে একটি চতুষ্পদ "আয়না" চালনা করতে পারে।
ড্রোনাস

@ ড্রোনাস কি? প্রথমে কেন "আয়না" তৈরি করতে বিরক্ত করবেন? শুধু দেয়ালে একটি গর্ত খুলুন।
এস তারেক Çতীন

কারণ আসল জ্যামিতিটি আয়না প্রাচীরের পিছনে স্থান ছেড়ে যেতে পারে না, যেমন কাজ করার জন্য আসল আয়নাটির মতো কোনও ঘর পেছনের প্রয়োজন হয় না।
dronus

29

না, আপনি ভুল - এটি ডিউক নোকেম থ্রিডি মিররগুলি কীভাবে কাজ করেছিল তা নয়।

ডিএন 3 ডি একটি পোর্টাল ইঞ্জিন ব্যবহার করেছে । যে কোনও দুটি সেক্টরের মধ্যে একটি যৌথ একটি পরিমাণে স্বেচ্ছাচারিতামূলক ছিল, এবং যখন রেন্ডারিং ইঞ্জিনটি একটি পোর্টালে এসেছিল তখন এটি জানত যে এটিতে অন্য একটি সেক্টর রেন্ডারিং শুরু করতে হবে। আয়নার পিছনের সেক্টরটি মূলত ইঞ্জিনের একটি ছদ্মবেশ নিয়ে কাজ করার জন্য একটি স্থানধারক ছিল - সেক্টরের একমাত্র পয়েন্টটি আপনার "প্রতিবিম্বিত" যা প্রয়োজন তার চেয়ে বড় হতে হবে। এটিতে কোনও আসল জ্যামিতি নেই। আসলে, এটি পোর্টালে "পোর্টালগুলি" একইভাবে কাজ করেছিল - পোর্টাল (নিজেই একটি পোর্টাল ইঞ্জিনের উপর ভিত্তি করে) রানটাইম সময়ে পোর্টালগুলি তৈরি করে এবং পোর্টালগুলি কতবার পুনরাবৃত্তি করতে পারে তার সীমা রয়েছে (যেমন এ -> বি -> এ -> বি -> এ ...), যখন বিল্ড (ডিএন 3 ডি) সহজেই ক্র্যাশ হয়ে যায় কারণ আপনি যদি অন্য কোনও আয়নাতে একটি আয়না দেখান তবে এর স্ট্যাকটি উপচে পড়ে যায়।

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

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

সবচেয়ে বড় কথা, আয়নাগুলি আরও জটিল হয়ে ওঠে। তাদের জটিল আকার, টেক্সচার থাকতে পারে, তারা মাটিতে থাকতে পারে ("জল" নামেও পরিচিত) ইত্যাদি While যদিও এই সমস্ত সমস্যাগুলি একটি পোর্টাল ইঞ্জিনে সমাধানযোগ্য হয়, আরটিটি এক পর্যায়ে সহজ পছন্দ হয়ে ওঠে এবং জিপিইউগুলি দ্রুত পর্যাপ্ত হয় এটি পরিচালনা করতে।

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


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

এছাড়াও, মিররবিহীন পোর্টালগুলি ভালভাবে, আয়না জিনিসগুলি দেয় না, তাই আমি জানি না "কীভাবে কোনও কোড পরিচালনার আয়না নেই" কীভাবে সম্ভব।
র্যান্ডম 832

5
@ র্যান্ডম 832 এটি এক ধরণের প্রয়োজনীয় ছিল - মিররড কক্ষটি যে জায়গায় থাকার কথা সেখানে কিছু সেক্টর উপস্থিত থাকলে সেখানে কিছু ভিজ্যুয়াল আর্টিক্টস ছিল। এটি সেই অংশগুলির মধ্যে একটি যেখানে বেশিরভাগ ক্ষেত্রে নিরীহ অনুমানগুলি পারফরম্যান্সের জন্য অনেক বেশি গুরুত্বপূর্ণ। আপনি যদি কখনও বিল্ডের সাথে চারপাশে খেলেন তবে আপনি খেয়াল করেছেন যে যখন দুটি সেক্টর একই উচ্চতায় চলে যায় তখন তারা ভালভাবে রেন্ডার করতে পারে না। মিররিংয়ের ক্ষেত্রে এটি বাস্তব জীবনের আয়নাগুলি একইভাবে কাজ করে। আপনি কি কখনও ভেবে দেখেছেন যে আয়নাগুলি কেবল Y- অক্ষগুলিতে "ফ্লিপ" করে? আপনাকে একই ঘরে আবার সংযুক্ত করে এমন পোর্টাল ফ্লিপ করার দরকার নেই কেন এটি একই কারণ।
লুয়ান

বিন্দু একটি হল, স্বাভাবিক পোর্টাল যে বিপরীত দিক মুখগুলি করে একটি রুমে বিশালাকার হবে তাদের অনুধ্যায়ী চেয়ে 180 ডিগ্রী বরং ঘোরান জিনিষ আছে। সুতরাং এটি না করার ক্ষমতা থাকা আয়নাগুলির জন্য বিশেষ পরিচালনা হিসাবে গণনা করা হয়। (এটি করার ক্ষমতা না থাকা মানে পোর্টালগুলি পোর্টাল হিসাবে কাজ করে না এবং এটি কেবল আয়নাগুলির জন্য উপযুক্ত, সেক্ষেত্রে পুরো সিস্টেমটি আয়নাগুলির জন্য বিশেষ পরিচালনা করে) is এবং হ্যাঁ, আমি জানি কেন আয়নাগুলি "ওয়াই-অক্ষে" কেবল "ফ্লিপ" করে। আসলে, তারা z- অক্ষের উপর ফ্লিপ। তবে তারা একটি বিজোড় সংখ্যক অক্ষকে ফ্লিপ করে ফেলেছে এটি তাদের পোর্টালগুলি থেকে পৃথক করে তোলে।
র্যান্ডম 832

@ র্যান্ডম 832 অবশ্যই আপনি ওয়াই-অ্যাক্সিকে যা বলেছেন তার উপর নির্ভর করে :) এবং হ্যাঁ, আপনি ঠিক বলেছেন, এখানে বিশেষ পরিচালনা রয়েছে। তবে এটি খুব আকর্ষণীয় - এটি রেন্ডার করা ডেটাগুলি ফ্ল্যাম্প করে, জ্যামিতি নয় (এবং স্প্রাইটস এবং সমস্ত কিছু ... আসলে বেশ কিছুটা কাজ, আসলে)। পোর্টাল ফ্রেমটি উল্টানো হয়, পোর্টালটি যথারীতি রেন্ডার করা হয় এবং তারপরে পুরো জিনিসটি রেখার সাথে পিছনে উল্টে দেওয়া হয়।
লুয়ান

3

আরটিটি যদি সম্ভব হত তবে ব্যবহৃত হত তবে হার্ডওয়্যার রেন্ডারিং পাইপলাইন একটাই উপায় ছিল।

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

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


1

ডিউক নোকেম হ্যান্ডেল করে যে আয়নার পিছনে জ্যামিতিটি পুনরায় রেন্ডার করে, অন্যান্য উত্তরগুলি আংশিকভাবে সঠিক। আয়নাগুলির পিছনে এমন কিছু অঞ্চল রয়েছে যাগুলিতে আসলে কোনও জ্যামিতি নেই (গেম ডেটা ফাইলগুলিতে), জ্যামিতিটি রান টাইম ইনফ্যাক্টে পুনরায় রেন্ডার করা হয়, সেই অঞ্চলগুলির অস্তিত্বের কারণ হ'ল স্তরটি সম্পাদনা করার সময় দুর্ঘটনাক্রমে কোনও স্তরের একটি অংশ রাখা এড়ানো to :

যেহেতু একটি অঞ্চল চিহ্নিত রয়েছে আপনি সেখানে দুর্ঘটনাক্রমে কোনও জ্যামিতি স্থাপন করবেন না।

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