প্রথমত, এটি জানতে সহায়তা করে যে জিপিইউগুলি সর্বদা একসাথে 2x2 ব্লক পিক্সেলের ব্লগ / পিক্সেল শেডারগুলি মূল্যায়ন করে। (এমনকি যদি কেবলমাত্র এই পিক্সেলগুলির মধ্যে কয়েকটি আঁকতে হবে তবে অন্যরা বহুভুজের বাইরে বা অবরুদ্ধ - অনির্বাণিত টুকরোগুলি শেষে লেখা হওয়ার পরিবর্তে মুখোশযুক্ত)।
আপনার শেডারের একটি পরিবর্তনশীল (বা অভিব্যক্তি) এর স্ক্রিনস্পেস ডেরাইভেটিভ হ'ল এই 2x2 পিক্সেল কোয়াডের অন্য দিক থেকে অন্য দিকে (কোডের সেই বিন্দুতে) v
এর মানের পার্থক্য v
। অর্থাত। ddx
মান v
বিয়োগ অধিকার পিক্সেল এর মান v
বাঁদিকের, এবং একইভাবে জন্য ddy
উল্লম্ব উপর।
এটির উত্তর " v
আমরা পর্দা জুড়ে অনুভূমিকভাবে (ডিডিএক্স) বা উল্লম্বভাবে (ডিডি) সরে যাওয়ার সাথে সাথে কত দ্রুত বৃদ্ধি বা হ্রাস পায়?" - যেমন। ক্যালকুলাস শর্তে, এটি আপনার পরিবর্তনশীলের আংশিক ডেরাইভেটিভগুলির সমান করে (আনুমানিক কারণ এটি কার্যের অনন্য আচরণের গাণিতিকভাবে মূল্যায়ন না করে প্রতিটি খণ্ডে পৃথক নমুনা ব্যবহার করে)
স্কেলারের পরিমাণের জন্য, আমরা এটিকে গ্রেডিয়েন্ট ভেক্টর হিসাবেও দেখতে পারি ∇v = float2(ddx(v), ddy(v))
যা স্ক্রিনস্পেসের দিকের দিকে নির্দেশ করে যেখানে v
খুব দ্রুত বাড়ছে।
এই ধরণের তথ্য প্রায়শই অভ্যন্তরীণভাবে অভ্যন্তরীণভাবে টেক্সচার লকআপগুলির জন্য উপযুক্ত মিপম্যাপ বা অ্যানিসোট্রপিক ফিল্টারিং কার্নেল নির্বাচন করতে ব্যবহৃত হয় । উদাহরণস্বরূপ, যদি আমার ক্যামেরাটি uv
টেক্সচার্ড ফ্লোর বিমানের উল্লম্ব দিকের সাথে প্রায় সমান্তরাল দেখায় , ddy(uv.y)
তুলনায় খুব বড় হবে ddx(uv.x)
(যেহেতু উল্লম্ব অক্ষটি পর্দার উপর পূর্বাভাসিত - একটি পিক্সেল স্ট্রাইড উল্লম্বভাবে টেক্সচার স্পেসের দীর্ঘ প্রসারিত করে), যা টেক্সচার স্যাম্পলিং হার্ডওয়্যারকে বলে যে আমার নকশাকৃত চিত্রগুলি এড়ানোর জন্য অনুভূমিকের চেয়ে উল্লম্ব টেক্সচারের দিকটি আরও ঝাপসা করার জন্য অ্যানিসোট্রপিক ফিল্টারিং দরকার।
সর্বাধিক সাধারণ প্রভাবগুলির জন্য আপনাকে এই ডেরাইভেটিভগুলি ব্যবহার করার দরকার নেই, যেহেতু বেসিক 2D টেক্সচার স্যাম্পলিং পদ্ধতিগুলি এটি আপনার জন্য পরিচালনা করে। উপরোক্ত একটি মন্তব্যে লে কম্তে ডু মের্দে-ফু যেমন উল্লেখ করেছেন, আপনি যখন নিজের টেক্সচারের অনুসন্ধানগুলি বিকৃত করছেন তখন আপনাকে হার্ডওয়্যারকে উপযুক্ত ফিল্টারিং নির্বাচন করতে সহায়তা করতে (যেমন: এর মাধ্যমে) ম্যানুয়ালি ব্যবহার করতে পর্দা স্পেস ডেরাইভেটিভগুলি ব্যবহার করতে হবে এবং ম্যাসেজ করতে হবে use tex2Dlod
এইচএলএসএল)
স্ক্রিনস্পেস ডিকালগুলি এরকম একটি কেস, যেখানে একটি মাত্র 2x2 ব্লক গণনা করা জমিনের সমন্বয়ে বড় লাফের বিচ্ছিন্নতা coverেকে দিতে পারে, যদি আপনি সিস্টেমটিকে ফিল্টারিং স্তরটি নির্বিচারে গণনা করতে দেন তবে একটি গন্ধযুক্ত বা অ্যালিজেড প্রান্তের দিকে নিয়ে যায়। এই নিবন্ধটি এই নিদর্শন সম্পর্কে বিশদে যায় এবং এটি প্রশমিত করার জন্য পন্থা ।
আপনি পদ্ধতিগত টেক্সচার জেনারেশনে শোর ফাংশন ব্যবহার করার সময় এই ডেরাইভেটিভগুলিও কার্যকর হতে পারে। যদি বলুন, আপনি পদ্ধতিগত গোলমালটিকে একটি সাধারণ মানচিত্রে পরিণত করতে চেয়েছিলেন, তবে ডিডিএক্স এবং ডিডি একটি সরল, আনুমানিকভাবে, বর্তমান খণ্ডের আশেপাশে শব্দটির মান কীভাবে পরিবর্তন হচ্ছে এবং কীভাবে এটি opালু অবস্থায় রয়েছে তা গণনা করার উপায় দেয়, তাই আপনি একটি উপযুক্ত স্বাভাবিক নির্মাণ করতে পারেন।
অ্যান্টিএলিয়েসড লাইনগুলি বা ছেদ করার জন্য হাইলাইটগুলি সরবরাহ করার কৌশলগুলি স্ক্রিনস্পেস ডেরাইভেটিভগুলিও ব্যবহার করতে পারে, এটি নিশ্চিত করার জন্য যে বেধ / ফলফটি সামঞ্জস্যপূর্ণ এবং জ্যামিতি বা দেখার কোণের উপর নির্ভরশীল নয়।
জার্নিতে বালু রেন্ডারিং সম্পর্কে এই আলোচনায় স্পিকার উল্লেখ করেছেন যে তারা এই ঝুঁকিপূর্ণ বালিটি কীভাবে ঝাঁকুনির ধার দিয়ে বজায় রেখেছিল তা নিয়ন্ত্রণ করতে ব্যবহার করতে পারত ... যদি তারা সেসময়ে তাদের সম্পর্কে জানতে পারত (পরিবর্তে তারা মিপম্যাপিং ট্রিক ব্যবহার করেছিল, যা হুডের নীচে এই ধরণের ডেরাইভেটিভস দ্বারা চালিত)
সচেতন হওয়ার জন্য একটি সর্বশেষ নোট: স্ক্রিনস্পেস ডেরাইভেটিভগুলি "মোটা" / নিম্ন নির্ভুলতার সাথে গণনা করা যায় (যার অর্থ ডেরিভেটিভসের একজোড়া পুরো কোয়াড দ্বারা ভাগ করা হয়) বা "সূক্ষ্ম" / উচ্চ নির্ভুলতা (যার অর্থ প্রতিটি পিক্সেল কেবল তার তাত্ক্ষণিকের সাথে তুলনা করা হয়) কোয়াডের প্রতিবেশীরা, যা কোয়াডের উপরে চারটি স্বতন্ত্র ডেরিভেটিভ জুটি দিতে পারে)। মোটা মোটামুটি প্রচুর পরিমাণে, তবে আপনি যদি দেখেন যে আপনি আপনার প্রভাবটিতে 2x2 ব্লক দৃশ্যমান হয়ে উঠছেন তবে এটি সূক্ষ্ম / উচ্চ নির্ভুলতায় স্যুইচ করতে চান এমন একটি ভাল সূত্র। ;)
(শীর্ষে ডায়াগ্রামে আমি সূক্ষ্ম ডেরিভেটিভগুলির জন্য গণনাগুলি ব্যবহার করেছি, তবে সাবধান থাকুন যে কেবলমাত্র ডিডিএক্স / ডিডি তাদের নিজেরাই মোটা ডেরিভেটিভগুলির ডিফল্ট হতে পারে)