ধাতব ক্ষেত্রে মিপম্যাপ স্তরগুলি কীভাবে গণনা করা হয়?


14

আমার প্রশ্নটি বিশেষত ধাতব প্রসঙ্গে, যেহেতু আমি জানি না উত্তরটি অন্য কোনও এপিআই-র পরিবর্তিত হবে কিনা।

আমি এখন পর্যন্ত যা বিশ্বাস করি তা হ'ল এটি:

  • একটি মিপম্যাপযুক্ত টেক্সচারটিতে "বিশদের স্তরের স্তরগুলি রয়েছে", যেখানে নিম্ন স্তরের বিশদটি মূল অর্থকে কিছু অর্থবহ উপায়ে ডাউনস্যাম্পল করে তৈরি করা হয়।

  • মাইপম্যাপ স্তরগুলিকে বিশদ অবতরণ স্তরে উল্লেখ করা হয়, যেখানে স্তরটি 0মূল টেক্সচার এবং উচ্চতর স্তরগুলি এটির পাওয়ার-অফ-টু-হ্রাস are

  • বেশিরভাগ জিপিইউ ট্রিলিনিয়ার ফিল্টারিং বাস্তবায়ন করে, যা প্রতিটি নমুনার জন্য দুটি প্রতিবেশী মিপম্যাপ স্তর বাছাই করে, বিলিিনার ফিল্টারিং ব্যবহার করে প্রতিটি স্তর থেকে নমুনাগুলি এবং তারপরে এই নমুনাগুলিগুলিকে রৈখিকভাবে মিশ্রিত করে।

আমি যেটি পুরোপুরি বুঝতে পারি না তা হ'ল এই এমপম্যাপ স্তরগুলি কীভাবে নির্বাচন করা হয়। ইন ডকুমেন্টেশন মেটাল মান লাইব্রেরির জন্য, আমি নমুনার সাথে বা এর একটি দৃষ্টান্ত উল্লেখ না করে, গ্রহণ করা যেতে পারে দেখতে lod_optionsপ্রকার। আমি ধরে নেব যে এই যুক্তিটি মিপম্যাপ স্তরগুলি কীভাবে নির্বাচিত হয় তা পরিবর্তন করে এবং lod_options2D টেক্সচারের জন্য দৃশ্যত তিন ধরণের রয়েছে :

  • bias(float value)
  • level(float lod)
  • gradient2d(float2 dPdx, float2 dPdy)

দুর্ভাগ্যক্রমে, ডকুমেন্টেশন এই বিকল্পগুলির মধ্যে কোনওটি কী তা ব্যাখ্যা করে বিরক্ত করে না। আমি অনুমান করতে পারি যে bias()কিছু কিছু স্বয়ংক্রিয়ভাবে নির্বাচিত স্তরের পক্ষপাতদুত্তর পক্ষপাতিত্ব করে তবে তারপরে পক্ষপাতিত্ব valueবলতে কী বোঝায়? এটি কোন স্কেলে কাজ করে? একইভাবে, কিভাবে করা হয় lodএর level()বিযুক্ত mipmap মাত্রা অনুদিত? এবং, gradient2d()টেক্সচার সমন্বয়ের গ্রেডিয়েন্ট ব্যবহার করে এমন অনুমানের অধীনে অপারেটিং , এটি কীভাবে এই গ্রেডিয়েন্টটিকে এমপম্যাপ স্তরটি নির্বাচন করতে ব্যবহার করে?

আরও গুরুত্বপূর্ণ বিষয়, আমি যদি বাদ দিই, তবে lod_optionsমিপম্যাপ স্তরগুলি কীভাবে নির্বাচিত হয়? এই ফাংশন নির্বাহ করা হচ্ছে ধরণের উপর নির্ভর করে এই পৃথক হয়?

এবং, যদি sample()ফাংশনটির ডিফল্ট নো-লড-অপশন-নির্দিষ্ট অপারেশনটি এমন কিছু করতে হয়gradient2D() (কমপক্ষে একটি টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো শ্যাডারে), এটি কি সাধারণ স্ক্রিন-স্পেস ডেরিভেটিভস ব্যবহার করে, বা এটি সরাসরি রাস্টারাইজার এবং ইন্টারপোল্টেড টেক্সচার সমন্বয়গুলির সাথে কাজ করে? একটি নিখুঁত গ্রেডিয়েন্ট গণনা করতে?

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

উত্তর:


17

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

মাইপ নির্বাচন সম্পর্কে বিস্তারিত জানার জন্য একটি ভাল জায়গা ওপেনজিএল স্পেক, বিভাগ 8.14, "টেক্সচার মিনিফিকেশন" এ রয়েছে । আমি ধরে নিই যে এটি ধাতব ক্ষেত্রে একইভাবে কাজ করে। (অ্যাপল তারা এবং হার্ডওয়্যার এবং এপিআই দুটোই তৈরি করে বিবেচনা করে কিছু পরিবর্তন করতে পারে ... তবে আমার সন্দেহ আছে যে তারা আছে।) আমি এটি সংক্ষিপ্ত করব।

ডিফল্ট এমআইপি নির্বাচন (কোনও lod_optionsসংশোধক ব্যবহার করে না ) মিপ স্তরগুলি বাছাই করতে টেক্সচারের স্থানাঙ্কগুলির স্ক্রিন-স্পেস গ্রেডিয়েন্ট ব্যবহার করে। মূলত, এটি মিপ স্তরগুলি পিক্সেলগুলিতে টেক্সেলগুলির 1: 1 ম্যাপিংয়ের যতটা সম্ভব উত্পাদন করতে চেষ্টা করে pick উদাহরণস্বরূপ, গ্রেডিয়েন্টগুলির দৈর্ঘ্য যদি 4 পিক্সেল প্রতি টেক্সেল হয় তবে এটি এমপ স্তর 2 বাছাই করবে (যা স্তর 0 এর আকার 1/4 র্থ এবং তাই আপনাকে পিক্সেলটিতে 1 মাইপড টেক্সেল দেয়)।

ত্রিনিয়ার ফিল্টারিংয়ের সাথে, যেহেতু আপনি সাধারণত সঠিক 1: 1 ম্যাপিংয়ে অবতরণ করেন না , এটি দুটি নিকটতম স্তর এবং লম্বাভাবে তাদের মধ্যে আন্তঃসঞ্চলকে বাছাই করে, যাতে আপনার দৃশ্যের ক্যামেরা বা অবজেক্ট হিসাবে মিউপ স্তরগুলির মধ্যে একটি মসৃণ স্থানান্তর থাকে that কাছাকাছি.

λλλλ=2.8

λলগ2(1/4)=-2

এখন, সংশোধক বিকল্পগুলির জন্য:

  • biasλ
  • levelλλlod
  • gradient2dআপনাকে আপনার নিজস্ব গ্রেডিয়েন্ট ভেক্টর স্থাপন করতে দেয় যা টেক্সচারের স্থানাঙ্কগুলির অন্তর্নিহিত স্ক্রিন-স্পেস গ্রেডিয়েন্টের বিকল্প দেয়। বাকী এমআইপি নির্বাচন এবং স্যাম্পলিং প্রক্রিয়াটি স্বাভাবিক হিসাবে এগিয়ে যায় তবে পরিবর্তিত গ্রেডিয়েন্টগুলির সাথে। এটি আপনাকে অ্যানিসোট্রপিক ফিল্টারিং কাস্টমাইজ করতে দেয়।

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

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