কেন মন্টি কার্লো রশ্মি ট্রেসিং বিতরণ রশ্মির ট্রেসিংয়ের চেয়ে ভাল সম্পাদন করে?


30

আমি শুনেছি যে একটি মন্টি কার্লো রে ট্রেসার (পাথ ট্রেসিং অ্যালগরিদমের উপর ভিত্তি করে) এর গুণমান বিতরণকৃত (স্টোকাস্টিক) ইঞ্জিনের চেয়ে অনেক বেশি বাস্তবসম্মত। আমি কেন তা বোঝার চেষ্টা করি, তবে আমি কেবল শুরুতেই আছি।

এই বিষয়টিতে ডুব দিতে এবং মূল বিষয়গুলি বুঝতে, কেউ আমাকে সঠিক দিক নির্দেশ করতে পারে? অ্যালগরিদমের কোন অংশটি আরও বাস্তবসম্মত ফলাফলের দিকে নিয়ে যায়?


9
I'd want more than "A recommendation of a solid book" as this question should be given a direct answer by someone who knows about this. We should try to put information on the site instead of pointing to it off-site.
Robobenklein

@robobenklein Question edited, thought better be careful ;)
p2or

@ChristianRau Removing "Thanks" should discussed in a meta, this is different on every stack exchange site...
p2or

1
@ পুপুর না, এটি আসলে নয়। এটি এমন কিছু যা কোথাও কখনও পরিবর্তন হয় না। এবং যতক্ষণ না আমাদের বিশেষ নিয়ম না থাকে আমরা সাধারণ এসইগুলিকে যাইহোক নিয়োগ করি। তবে তারপরেও, এখানে ভোট দেওয়ার জন্য আমি কাউকেই খুব সহজেই কল্পনা করতে পারি allowed আমি অন্য কোনও এসই সাইটে এটি ভাল অনুশীলন হতে দেখিনি।
Chris says Reinstate Monica

উত্তর:


31

The term "distributed ray tracing" was originally coined by Robert Cook in this 1984 paper. His observation was that in order to perform anti-aliasing in a ray-tracer, the renderer needs to perform spatial upsampling - that is, to take more samples (i.e. shoot more rays) than the number of pixels in the image and combine their results. One way to do this is to shoot multiple rays within a pixel and average their color values, for example. However, if the renderer is already tracing multiple rays per pixel anyway to obtain an anti-aliased image, then these rays can also be "distributed" among additional dimensions than just the pixel position to sample effects that could not be captured by a single ray. The important bit is that this comes without any additional cost on top of spatial upsampling, since you're already tracing those additional rays anyway. For example, if you shoot multiple rays within your pixel to compute an anti-aliased result, you can get motion blur absolutely for free if you also use a different time value for each ray (or soft shadows if they connect to a different point on the light source, or depth of field if they use a different starting point on the aperture, etc.).

Monte Carlo ray tracing is a term that is slightly ambiguous. In most cases, it refers to rendering techniques that solve the rendering equation, introduced by Jim Kajiya in 1986, using Monte Carlo integration. Practically all modern rendering techniques that solve the rendering equation, such as path tracing, bidirectional path tracing, progressive photon mapping and VCM, can be classified as Monte Carlo ray tracing techniques. The idea of Monte Carlo integration is that we can compute the integral of any function by randomly choosing points in the integration domain and averaging the value of the function at these points. At a high level, in Monte Carlo ray tracing we can use this technique to integrate the amount of light arriving at the camera within a pixel in order to compute the pixel value. For example, a path tracer does this by randomly picking a point within the pixel to shoot the first ray, and then continues to randomly pick a direction to continue on the surface it lands on, and so forth. We could also randomly pick a position on the time axis if we want to do motion blur, or randomly pick a point on the aperture if wanted to do depth of field, or...

If this sounds very similar to distributed ray tracing, that's because it is! We can think of distributed ray tracing as a very informal description of a Monte Carlo algorithm that samples certain effects like soft shadows. Cook's paper lacks the mathematical framework to really reason about it properly, but you could certainly implement distributed ray tracing using a simple Monte Carlo renderer. It's worth noting that distributed ray tracing lacks any description of global illumination effects, which are naturally modeled in the rendering equation (it should be mentioned that Kajiya's paper was published two years after Cook's paper).

আপনি মন্টে কার্লো রশ্মি ট্রেসিংকে বিতরণকৃত রশ্মির ট্রেসিংয়ের আরও সাধারণ সংস্করণ হিসাবে ভাবতে পারেন। মন্টি কার্লো রে ট্রেসিংয়ে একটি সাধারণ গাণিতিক কাঠামো রয়েছে যা আপনাকে বিতরণকৃত রশ্মির ট্রেসিং পেপারে উল্লিখিতগুলি সহ কার্যত কোনও প্রভাব পরিচালনা করতে দেয়।

এই দিনগুলিতে, "বিতরণ করা রে ট্রেসিং" আসলে এমন কোনও শব্দ নয় যা মূল অ্যালগরিদমকে বোঝাতে ব্যবহৃত হয়। প্রায়শই আপনি এটি "বিতরণ প্রভাবগুলির" সাথে একত্রে শুনতে পাবেন, যা কেবল গতি অস্পষ্টতা, ক্ষেত্রের গভীরতা বা নরম ছায়াগুলির মতো প্রভাব যা একক নমুনা রেট্রেসার দিয়ে পরিচালনা করা যায় না।


5

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

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

এবং সুতরাং, পাথ ট্রেসিং আপনাকে আরও ভাল ফলাফল দেয়।


2
"যদিও মন্টে কার্লো রশ্মি ট্রেসিং বা কেবল পথের ট্রেসিংয়ের ক্ষেত্রে, আপনি বিআরডিএফ দ্বারা পছন্দসই দিকটিতে কেবল একটি রশ্মির নমুনা করেছেন।" কিন্তু, আপনি কীভাবে রশ্মি নির্বাচিত তা জানেন না। নিষ্পাপ দৃষ্টিভঙ্গি এলোমেলো রশ্মি ব্যবহার করে। বিআরডিএফকে বিবেচনায় নেওয়া গুরুত্বপূর্ণ নমুনা এবং মন্টি কার্লো রশ্মি ট্রেসিং বা পাথ ট্রেসিংয়ের সহজাত নয়।
ডেভিড কুড়ি

4
আমি বিশ্বাস করি এই উত্তরটি সম্পূর্ণ মিথ্যা। আপনি বহির্মুখী রশ্মি মুক্ত এবং মিশ্রণের সময় তাদের ফলাফল ওজন মুক্ত। আপনি রাশিয়ান রুলেট কৌশলটির চেয়ে একই সত্য অর্জন করেছেন তবে এটি সাধারণত গৃহীত হয় যে পূর্বের পদ্ধতিটি আরও ব্যয়বহুল।
v.oddou
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.