4D সমজাতীয় জায়গায় ক্লিপিং করার সময় জিপিইউ আসলে কী করে তার বিশদ?


10

আমি একটি ক্ষুদ্র সফ্টওয়্যার রেন্ডারার প্রয়োগ করে প্রোগ্রামেবল রেন্ডারিং পাইপলাইন শিখছি। আমি এটি একটি 'হার্ডওয়্যার' স্টাইলে প্রয়োগ করার চেষ্টা করি। তবে আমি জিপিইউ পাইপলাইনের সাথে পরিচিত নই এবং সমজাতীয় ক্লিপিংয়ের কিছু সমস্যা পেয়েছি।

সমজাতীয় ক্লিপিং স্পেসে একটি ডাব্লু ভেরিয়েবল থাকে যা প্রতিটি প্রান্তরে বিভিন্ন। প্রতিটি শীর্ষবর্ণের অবজেক্টের সমজাতীয় স্থানাঙ্ক (ডাব্লু দ্বারা প্রজেকশন ম্যাট্রিক্স এবং সমজাতীয় বিভাগের মধ্যে) তার নিজস্ব ক্লিপিং স্পেসে রয়েছে? যদি তা হয় তবে ফ্রাস্টামের চেয়েও নিকটবর্তী লাইনগুলি এবং ত্রিভুজগুলি কীভাবে ক্লিপ করবেন বা এমনকি ক্যামেরার পিছনে প্রসারিত করবেন (যেমন ডাব্লু <= হতাশ_জানার)?

আপডেট : এই থ্রেডটি বলে যে সমজাতীয় স্থানের ক্লিপিং 4D সমজাতীয় স্থানের মধ্যে সরাসরি একটি ছেদ সমস্যা। যার অর্থ ছেদ বিন্দু p_vec4 = t * point1_vec4 + (1 - t) * point2_vec4। বলুন যে আমার কাছে P0(-70, -70, 118, 120)এবং P1(-32, -99, -13, -11)4 ডি সমজাতীয় স্থান আছে এবং ছেদ বিন্দুটি plane w = -z(যা (-35, -96, -1, 0.9) t = 0.99এনডিসিতে z = -1) , এটি এনডিসি স্পেসে সংযুক্ত ভারটিেক্স অবজেক্টটি কীভাবে পাবেন?

এবং একবার আমি সঠিক ছেদ পয়েন্টটি পেয়ে গেলে, নতুন ভার্টেক্স অবজেক্টটি পাওয়ার জন্য আমার কি ভার্টেক্স শ্যাডার দ্বারা উত্পাদিত ভারটিেক্স অবজেক্টগুলির মধ্যে ফাঁক করা উচিত?


এটি একটি একক পোস্টের জন্য আমাকে অনেক প্রশ্ন হিসাবে আঘাত করে এবং সম্ভবত বিভক্ত হওয়া উচিত। সাধারণ নিয়মটি প্রতিটি পোস্টের জন্য একটি প্রশ্ন (বা কমপক্ষে মূল প্রশ্ন) is
পিকালেক

@ পিকেলেক আমি অন্য দুটি প্রশ্ন মুছে ফেলি এবং এই থ্রেডকে যুক্তিসঙ্গত করার চেষ্টা করি। আপনার উপদেশের জন্য ধন্যবাদ.
stanleyerror

উত্তর:


1

ক্লিপিং 4 ডি স্পেসে নয়, 'ডাব্লু' বিভাগের আগে 3 ডি স্পেসে করা হয়।

জিপিইউ কাছাকাছি এবং দূরের বিমানগুলি, অথবা দর্শনের সমস্ত 6 ডি প্লেনকে হতাশ করে এবং জিওকে এটিতে ক্লিপ করে।

ডাব্লু বিভাগ করা হলে স্থানাঙ্কের সাইনটি চোখ / ক্যামেরার পিছনে উল্টানো জন্য উল্টাতে হবে।

যদি ডাব্লিউ বিভাগের আগে কেবলমাত্র নিকটবর্তী বিমানগুলি 3 ডি ক্লিপে ব্যবহৃত হয় তবে এক্স ও ওয়াই প্লেনগুলির জন্য রাস্টারাইজিং পর্যায়ে 2D ক্লিপিংয়ের উপর সম্পূর্ণ নির্ভর করতে পারে।


ডাব্লু হ'ল সরাসরি জেড সম্পর্কিত একটি প্রক্ষেপণ বিভাজক, আসলে চতুর্থ মাত্রা নয়। 4x4 ম্যাট্রিক্স একটি "হ্যাক" যা একটি সুবিধাজনক বিন্যাসে অনুবাদ এবং প্রক্ষেপণ বিভাগ অন্তর্ভুক্ত করে। এটি কেবলমাত্র কাজ করে কারণ অবস্থানগুলি (x, y, z, 1) হিসাবে আবদ্ধ এবং নরমালগুলি (x, y, z, 0) হিসাবে আবদ্ধ হয়।

তবে এটি আসলে 4 টি স্বাধীন মাত্রা নয়।

"ডাব্লু" এর জন্য অন্য কোনও মান যা 1 বা 0 নয় জ্যামিতির জন্য সামান্য অর্থ দেয়, অনুবাদ বন্ধ করার জন্য এটি অন অফ / অফ সুইচ switch


0

আপনি যদি একজাতীয় ক্লিপ স্পেস কর্ডগুলিকে সাধারণীকৃত ডিভাইস স্থানাঙ্ক (এনডিসি) স্থিতিতে রূপান্তর করার বিষয়ে জিজ্ঞাসা করেন তবে প্রক্রিয়াটি হ'ল: <x y z w> → <x/w y/w z/w>

এই জিডিএসই কিউ / এ অন কেন ক্লিপ স্পেস সবসময় "সমজাতীয় ক্লিপ স্পেস" হিসাবে উল্লেখ করা হয়? আপনার জন্য সহায়ক হতে পারে।


1
আপনার উত্তরের জন্য ধন্যবাদ. যাইহোক, আমার সমস্যা হ'ল আন্তঃসম্পাদন নিয়ে। দুটি চোখের সমাহারের অধীনে ই 2, ই 2 দুটি পয়েন্ট বলুন 4 ডি সমজাতীয় ক্লিপিং স্পেস এইচ 1, এইচ 2 তে প্রত্যাশিত। তারপরে আমরা 4 ডি সমজাতীয় স্পেসে ইন্টারপোলেশন করি, বিভাগ H1-h2 4D পয়েন্ট h (টি) = টি * এইচ 1 + (1-টি) * এইচ 2 এ ক্লিপ করা আছে। সাধারণতার ক্ষতি ছাড়াই ধরা যাক, রাস্টারাইজেশন পর্যায়ে আমাদের কাছে h1-h (টি) অংশ (যা দেখা যায়) খাওয়ান। সুতরাং আমাদের সংশ্লিষ্ট ভার্টেক্স গুণাবলী তৈরি করতে হবে (ভার্টেক্স শ্যাডারের আউটপুট বিন্যাসের সমান)। আমার প্রশ্ন হল এই নতুন শিখার বৈশিষ্ট্যগুলি কীভাবে উত্পন্ন করা যায়?
stanleyerror

আমার বোধগম্যতা হ'ল এইচসিএসে ইন্টারপোলেশন হয় নি তবে আমার ভুল হতে পারে। আপনি যদি এখানে আরও বেশি / আরও ভাল উত্তর না পান তবে পুনরায় জিজ্ঞাসা করতে / এসও-তে স্থানান্তরিত করার চেষ্টা করতে পারেন।
পিকালেক

ঠিক আছে. আমি কি এই থ্রেডটি সরাসরি এসওতে স্থানান্তর করতে পারি, বা আমাকে সেখানে নতুন প্রশ্নটি আবার খুলতে হবে।
stanleyerror

আপনাকে পুনরায় জিজ্ঞাসা করার পরামর্শ দেওয়ার জন্য আমার ভুল; ক্রস পোস্টিং সাধারণত নিরুৎসাহিত হয়
পিকালেক

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