রায়মার্চ শেডারগুলি কীভাবে কাজ করবে?


49

আমি এখানে shadertoy.com পাওয়া ছায়াগুলির দিকে তাকিয়ে আছি এবং বেশিরভাগ শীতল লোকের মধ্যে শব্দ এবং রায়মার্চ প্রচলিত রয়েছে। আমি উত্স কোডটি মোটেই বুঝতে পারি না তবে আমি সত্যিই চাই। এই ছায়াগুলি কীভাবে কাজ করে এবং কীভাবে রায়মার্চ অ্যালগরিদম কাজ করে? আমি সর্বত্র অনুসন্ধান করেছি এবং বিষয়টিতে কিছুই খুঁজে পাচ্ছি না।

ধন্যবাদ


6
আইজিগো কুইলেজ সে সম্পর্কে দুর্দান্ত টিউটোরিয়াল লিখেছেন। দেখুন iquilezles.org/www/articles/raymarchingdf/raymarchingdf.htm , iquilezles.org/www/material/nvscene2008/nvscene2008.htm এবং iquilezles.org/www/articles/distfunctions/distfunctions.htm । এই শীতল শেডারগুলি কেবল কোনও রেমার্কিং নয়, বিশেষত দূরবর্তী ক্ষেত্রগুলিকে রাইমার্কিং, যাকে গোলক ট্রেসিংও বলা হয়।
মিসেল

আপনি কি সাধারণভাবে রে মার্চিং বা জিপিইউতে রে মার্চিংয়ের বিষয়ে জিজ্ঞাসা করছেন?
ধারণা 3 ডি

@ মিলো আপনি কি আপনার প্রশ্নটি পরিষ্কার করতে পারবেন? আপনি কি জিজ্ঞাসা করছেন যে শীতল ডেমোগুলিতে আপনি যে চিত্রগুলি দেখছেন তা উত্পন্ন করতে এই অ্যালগোরিদমগুলি কীভাবে ব্যবহৃত হয়? আপনি কি জিজ্ঞাসা করছেন কীভাবে রে মার্চিং কাজ করে? আপনি কি জিজ্ঞাসা করছেন কীভাবে টুকরা / পিক্সেল শেডারগুলিতে রে মার্চিং (অর্থাত্ কার্যকর বাস্তবায়ন) কাজ করে?
ট্র্যাভিসজি

আমি ইউনিটি ইঞ্জিনে রায়মার্চিং
Morteza Kamali

উত্তর:


79

রাইট্রাকিংয়ের বিপরীতে এটি বোঝা সহজ।

রায়ট্র্যাকিংয়ের সাথে আদিমিকে রেন্ডার করার জন্য আপনার একটি ফাংশন প্রয়োজন যা আদিম এবং ইনপুট রশ্মি দিয়ে আপনাকে জানায় ঠিক কোথায় রে সেই আদিমকে আঘাত করে। তারপরে আপনি সমস্ত প্রাসঙ্গিক আদিমদের বিরুদ্ধে রশ্মিটি পরীক্ষা করতে পারেন এবং নিকটস্থ ছেদটি বেছে নিতে পারেন। সিপিইউগুলি এতে ভাল।

রায়মার্চিংয়ের সাথে, আপনার কাছে এত সাধারণ রশ্মি ছেদ ফাংশন নেই। রশ্মির উপর একটি বিন্দু দেওয়া, আপনি অনুমান করতে পারেন যে পয়েন্টটি পৃষ্ঠের কতটা কাছাকাছি, তবে আপনি ঠিক জানেন না যে পৃষ্ঠটি আঘাত করার জন্য আপনাকে এই রশ্মিটি কতদূর প্রসারিত করতে হবে।

সুতরাং, আপনি একবারে একটি পদক্ষেপ "মার্চ" করুন:

  1. রশ্মির "শুরু" থেকে শুরু করুন - দৃশ্য উপস্থাপনের জন্য নিকটতম বিমান, বা দৃশ্যের কেবলমাত্র একটি অবজেক্টের সাথে সীমাবদ্ধতার পরিমাণটি ছেদ করে। (নীচের চিত্রে পি 0)

  2. আপনি ভূপৃষ্ঠের কতটা নিকটবর্তী তার অনুমান পেতে আপনার দূরত্বের ক্রিয়াকে মূল্যায়ন করুন। (চিত্রের বৃহত্তম বৃত্ত)

  3. আপনার অনুমান অনুসারে রশ্মির পাশে এগিয়ে যান। পদক্ষেপটি রক্ষণশীলভাবে সংক্ষিপ্ত হওয়া উচিত, সুতরাং আপনি আত্মবিশ্বাসী যে আপনি কোথাও পৃষ্ঠের উপর দিয়ে সুড়ঙ্গ করতে পারবেন না।

  4. এখন আপনার কাছে একটি নতুন পয়েন্ট রয়েছে (নীচে পি 1) - একটি নতুন অনুমান এবং পুনরাবৃত্তি পান।

  5. আপনি পৃষ্ঠের একটি চৌম্বক দূরত্বে না আসা পর্যন্ত অনুমান পাওয়া এবং এগিয়ে যাওয়া চালিয়ে যান বা আপনি আপনার সর্বোচ্চ পদক্ষেপের গণনাটিকে আঘাত করেন না hit (নীচে পি 4)

  6. এখন আপনার পৃষ্ঠের গভীরতা রয়েছে এবং নিকটস্থ নমুনাগুলি থেকে নরমাল / পরিবেষ্টনের মতো বিষয়গুলি আবিষ্কার করতে পারে এবং পিক্সেলটি হালকা ও রঙিন করতে এই ডেটা ব্যবহার করতে পারে।

P0 থেকে একটি চৌরাস্তাটি ছেদ করার দিকে যাত্রা করছে

জিপিইউ রত্ন 2, অধ্যায় 8 থেকে চিত্রের উদাহরণ

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

সঠিক পদক্ষেপগুলি আপনি যে বিশেষ প্রভাবটি অর্জনের চেষ্টা করছেন তার উপর অনেক বেশি নির্ভর করে। রাইমার্কিং কৌশলগুলি এর সাথে ব্যবহার করা হয় ...

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

রায়মার্কিং ভলিউম্যাট্রিক ট্রান্সলুসেন্সির রেন্ডারিংয়ের জন্য প্রতিটি পদক্ষেপে প্রায়শই স্থির পদক্ষেপগুলি ব্যবহার করা হয় (প্রায়শই স্থির পদক্ষেপগুলি ব্যবহার করে), উইকিপিডিয়া থেকে এই উদাহরণ হিসাবে ।

একটি স্বচ্ছ ভলিউম টেক্সচার রায়মার্কিং

রিয়েলটাইমে বিশদ মেঘ রেন্ডার করার এটি একটি জনপ্রিয় উপায়ে পরিণত হয়েছে ।

এমনকি ইন্টিরির ম্যাপিং , উইন্ডো নির্মাণের পিছনে অভ্যন্তর ঘরের বিবরণ সিমুলেট করার একটি উপায়, রাইমার্কিংয়ের একটি রূপ হিসাবে বিবেচনা করা যেতে পারে, যেখানে রশ্মিটি বিন্দু থেকে সরে যায় এটি উইন্ডোটি নিকটতম প্রাচীর, মেঝে / সিলিং বা আসবাবের প্লেনে প্রবেশ করে।

যদি আপনি আগ্রহী কোনও নির্দিষ্ট ধরণের রাইমার্কিং এফেক্ট থাকে তবে আপনি সম্ভবত নির্দিষ্ট উদাহরণ সহ একটি নতুন প্রশ্ন জিজ্ঞাসা করে আরও বিস্তারিত উত্তর পেতে পারেন। পরিবার হিসাবে, কৌশলটি একটি সংক্ষিপ্ত উত্তরে সমস্ত কিছু কভার করার জন্য বৈচিত্র্যময়। ;) আমি আশা করি এটি আপনাকে এই শেডারের নীচে কী ঘটছে তা বোঝার জন্য একটি কাঠামো দেয়।

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