সম্পূর্ণ প্রযুক্তিগত ক্ষেত্রে, fwidth(p)
হিসাবে সংজ্ঞায়িত করা হয়
fwidth(p) := abs(dFdx(p)) + abs(dFdy(p))
এবং dFdx(p)
/ এবং স্ক্রিনের মাত্রার সাথে সম্মানের সাথে dFdy(p)
মানটির আংশিক উত্স হয় । সুতরাং তারা বোঝায় যে যখন একটি পিক্সেল ডানে ( ) বা এক পিক্সেল উপরে ( ) এ যায় তখন মান কী আচরণ করে ।p
x
y
p
x
y
এখন সেগুলি কীভাবে ব্যবহারিকভাবে গণনা করা যায়? ঠিক আছে, আপনি যদি প্রতিবেশী পিক্সেলের মান জানেন, তবে আপনি p
কেবলমাত্র তাদের প্রকৃত গাণিতিক ডেরিভেটিভসের (যার কোনও সঠিক বিশ্লেষণাত্মক সমাধান নাও থাকতে পারে) সান্নিধ্য হিসাবে প্রত্যক্ষ সীমাবদ্ধ পার্থক্য হিসাবে গণনা করতে পারেন :
dFdx(p) := p(x+1) - p(x)
তবে অবশ্যই আপনি জিজ্ঞাসা করতে পারেন, আমরা কীভাবে p
পার্শ্ববর্তী পিক্সেলগুলির জন্য (যা শেডার প্রোগ্রামের মধ্যে নির্বিচারে গণনা করা মান হতে পারে) এর মানগুলি কীভাবে জানব ? পুরো শেডার গণনা দুটি (বা তিন) বার করে প্রধান ওভারহেড ব্যয় না করে আমরা কীভাবে এই মানগুলি গণনা করব?
ঠিক আছে, আপনি জানেন কী, সেই প্রতিবেশী মানগুলি যেভাবেই গণনা করা হয়, যেহেতু প্রতিবেশী পিক্সেলের জন্য আপনি একটি খণ্ড শেডারও চালান। তাই প্রতিবেশী পিক্সেলের জন্য চালানোর সময় আপনার যা যা প্রয়োজন তা এই প্রতিবেশী খণ্ডটি শেডার অনুরোধের অ্যাক্সেস। তবে এটি আরও সহজ, কারণ সেই প্রতিবেশী মানগুলিও একই সময়ে গণনা করা হয়।
আধুনিক রাস্টেরাইজারগুলি একাধিক প্রতিবেশী পিক্সেলের বৃহত্তর টাইলগুলিতে টুকরো ছায়া গো কল করে call সবচেয়ে ছোটতে এটি পিক্সেলের 2x2 গ্রিড হবে। এবং এই জাতীয় প্রতিটি পিক্সেল ব্লকের জন্য প্রতিটি পিক্সেলের জন্য ফ্রেগমেন্ট শেডারটি আহ্বান করা হয় এবং সেই অনুরোধগুলি পুরোপুরি সমান্তরাল লক- স্টেপে চালিত হয় যাতে ব্লকটির প্রতিটি পিক্সেলের জন্য একই পরিমাণে এবং একই সময়ে সমস্ত গণনা করা যায় order (এই কারণেই খণ্ড খণ্ডনকারী শাডারে শাখা করা, মারাত্মক না হলেও, এড়ানো উচিত, যেহেতু একটি ব্লকের প্রতিটি অনুরোধকে কমপক্ষে একটি অনুরোধের দ্বারা নেওয়া প্রতিটি শাখা অন্বেষণ করতে হবে, এমনকি যদি এটি সরে যায় তবেও পরবর্তীকালে ফলাফলগুলিও যেমন সম্পর্কিত এই প্রশ্নের উত্তরগুলিতে যুক্ত হয়েছিল)। সুতরাং যে কোনও মুহুর্তে, কোনও খণ্ড শেডার তাত্ত্বিকভাবে এর প্রতিবেশী পিক্সেলের খণ্ড শেডার মানগুলিতে অ্যাক্সেস পেতে পারে। এবং যখন আপনি ঐ মান সরাসরি অ্যাক্সেস না থাকে, আপনি ব্যুৎপন্ন ফাংশন মত তাদের কাছ থেকে নির্ণিত মান অ্যাক্সেস করতে dFdx
, dFdy
, fwidth
, ...
dFdx(p) = p(x1) - p(x)
, তবেx1
হয়(x+1)
বা হতে পারে(x-1)
, কোয়াডে পিক্সেলের অবস্থানের উপর নির্ভর করেx
। যেভাবেই হোক,x1
একই ধরণের / ওয়েভফ্রন্টে থাকতে হবেx
। আমি কি সঠিক?