আমি কীভাবে একটি আয়না বা অন্যান্য প্রতিফলিত পৃষ্ঠগুলি রেন্ডার করব?


16

আমি কেবল ভাবলাম কীভাবে 3 ডি গেমের মধ্যে একটি আয়না তৈরি করব? আমার পরামর্শটি রশ্মির সন্ধান করার / ছিল, "মিরর" অবজেক্টটিকে আঘাত করে তারপরে "মিরর" অবজেক্টটিতে দ্বিতীয় ক্যামের একটি ছবি আঁকুন যা মূল ক্যামেরার মিরর "পয়েন্ট" এ মিরর অবজেক্টের হিট পাশটি ব্যবহার করে ব্যবহৃত হয়েছে মিররিং প্লেন

দৃষ্টির কেন্দ্রটি আয়না বিমানে কোথায় অবস্থিত সেই স্থানটি নির্ধারণ করতে আমাদের মূল ক্যামেরার কেন্দ্র থেকে আগত একটি রশ্মি ব্যবহার করতে হবে।


1
আপনি কি এই জিনিসটির "কীভাবে বোঝাতে চেয়েছিলেন" এর স্কেচ / অঙ্কন করতে চান?
daemonfire300

আপনি স্ট্যাকওভারফ্লো.কম এ পোস্ট করার চেষ্টা করতে পারেন কারণ এটি সরাসরি গেম ডেভেলপমেন্ট সম্পর্কিত নয়; সম্ভবত সেখানে আরও গ্রাফিক্স বিশেষজ্ঞ রয়েছে যা আপনাকে সহায়তা করতে পারে।
রিকিট

উত্তর:


14

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

9.170 আমি কীভাবে একটি আয়না রেন্ডার করব?

FAQ এন্ট্রি যা বলে তা এখানে মূলত দেওয়া হয়েছে এবং উদাহরণ কোডটি প্রদর্শন করে:

  • একটি প্রতিবিম্বিত ভিউ ম্যাট্রিক্স সেট আপ করুন। অক্ষ-সারিবদ্ধ আয়নাগুলির জন্য এটি করা দ্বিতীয় অনুচ্ছেদে ব্যাখ্যা করা হয়েছে।
  • দৃশ্য আঁকুন
  • ম্যাট্রিক্সটি পুনরুদ্ধার করুন এবং গভীরতা বাফারটি সাফ করুন
  • আবার দৃশ্যটি রেন্ডার করুন; পূর্বে রেন্ডার করা মিরর করা দৃশ্যের মাধ্যমে দেখতে এই দৃশ্যের আসল আয়না জ্যামিতিটি স্বচ্ছ বা সম্পূর্ণ স্বচ্ছ হওয়া উচিত।

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

আমি ভাবছি, আপনি যদি ডাইরেক্টএক্স ব্যবহার করেন তবে পদ্ধতিটি একই রকম হবে।


3
একটি বিকল্প, যদি আপনার সময় দেওয়ার চেয়ে বেশি মেমরি থাকে তবে তা হ'ল আপনার 3 ডি সম্পাদকের আয়নার মাধ্যমে আপনার বিশ্ব জ্যামিতিকে প্রতিফলিত করা, তবে আপনি চান তা দেখতে এটি পরিবর্তন করতে পারেন (নিম্ন মিপ স্তরগুলি প্রয়োগ করুন ইত্যাদি)। আমরা PS1 এ এটি করেছি, যেখানে চকচকে মেঝেতে বসে থাকা জিনিসগুলি ডুপ্লিকেট করা হয়েছিল / ভূগর্ভস্থ উল্টানো হয়েছিল এবং মেঝেটি নিজেই সেমিট্রান্সপারেন্ট হিসাবে রেন্ডার করা হয়েছিল।
ড্যাশ-টম-ব্যাং

নোট করুন যে নমুনা কোড অবহিত ওপেনএলএল স্পেসিফিকেশনকে বোঝায়। তবুও ধারণা সর্বজনীন এবং সম্ভবত সর্বশেষতম ওপেনএল স্পেসিফিকেশন ব্যবহার করে একইভাবে প্রয়োগ করা যেতে পারে ।
patryk.beza
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.