4 डी सजातीय अंतरिक्ष में क्लिपिंग करते समय जीपीयू वास्तव में क्या करता है?


10

मैं एक छोटे सॉफ्टवेयर रेंडरर को लागू करके प्रोग्रामेबल रेंडरिंग पाइप लाइन सीख रहा हूं। मैं इसे 'हार्डवेयर' शैली में लागू करने की कोशिश करता हूं। हालांकि, मैं GPU पाइपलाइन से परिचित नहीं हूं और सजातीय क्लिपिंग की कुछ समस्याएं मिलीं।

समरूप कतरन स्थान में एक w चर होता है जो प्रत्येक शीर्ष पर विभिन्न होता है। क्या प्रत्येक शीर्ष वस्तु का समरूप समन्वय (प्रक्षेपण मैट्रिक्स और w द्वारा समरूप विभाजन के बीच) अपने स्वयं के कतरन स्थान पर है? यदि ऐसा है, तो फ्रस्टम की तुलना में निकट रेखाओं और त्रिकोणों को कैसे क्लिप किया जाए या कैमरे के पीछे भी खींचा जाए (यानी w <= frum_znear)?

अद्यतन : यह धागा कहता है कि सजातीय अंतरिक्ष में कतरन सीधे 4D सजातीय अंतरिक्ष में एक चौराहे की समस्या है। जिसका अर्थ है चौराहा बिंदु है p_vec4 = t * point1_vec4 + (1 - t) * point2_vec4। कहो कि मेरे पास P0(-70, -70, 118, 120)और P1(-32, -99, -13, -11)4 डी सजातीय स्थान में है, और चौराहे के बिंदु के साथ plane w = -z(जो एनडीसी में z = -1 है) (-35, -96, -1, 0.9) t = 0.99, एनडीसी अंतरिक्ष में गलियों की शीर्ष वस्तु कैसे प्राप्त करें?

और एक बार जब मुझे सही चौराहा बिंदु मिल जाता है, तो क्या मुझे नए टोटेक्स ऑब्जेक्ट को प्राप्त करने के लिए वर्टेक्स शैडर द्वारा निर्मित शीर्ष वस्तुओं के बीच प्रक्षेप करना चाहिए?


यह मुझे एक ही पद के लिए बहुत सारे सवालों के रूप में प्रभावित करता है और शायद विभाजित किया जाना चाहिए। सामान्य नियम प्रति पोस्ट एक एकल प्रश्न (या कम से कम महत्वपूर्ण प्रश्न) है।
पिकालेक

@Pikalek मैं अन्य दो प्रश्नों को हटाता हूं और इस धागे को उचित बनाने का प्रयास करता हूं। आपके सुझाव के लिए धन्यवाद।
स्टैनलेयर

जवाबों:


1

'W' डिवीजन से पहले 3D स्पेस में क्लिपिंग की जाती है, 4D स्पेस में नहीं।

GPU या तो बस नज़दीकी और दूर के विमानों को देखता है, या सभी 6 डी व्यू फ़्रुम के विमानों को देखता है और इसके लिए जियो को क्लिप करता है।

यदि डब्ल्यू डिवीजन कोऑर्डिनेट के संकेत से पहले किया गया था, तो आंख / कैमरा के पीछे कोने के लिए फ्लिप होगा।

यदि केवल दूर के विमानों का उपयोग डब्ल्यू डिवीजन से पहले 3 डी क्लिप के लिए किया जाता है तो पूरी तरह से 2 डी क्लिपिंग पर भरोसा कर सकते हैं x और y विमानों के लिए rasterizing स्टेज पर।


W सिर्फ Z से सीधे जुड़ा हुआ एक प्रक्षेपण विभक्त है, वास्तव में 4 वाँ आयाम नहीं है। 4x4 मैट्रिक्स एक सुविधाजनक प्रारूप में अनुवाद और प्रक्षेपण विभाजन को शामिल करने के लिए "हैक" है। यह केवल इसलिए काम करता है क्योंकि पदों को निहित किया जाता है (x, y, z, 1) और मानदंड (x, y, z, 0) होने के लिए निहित हैं।

लेकिन यह वास्तव में 4 स्वतंत्र आयाम नहीं है।

"डब्ल्यू" के लिए कोई अन्य मूल्य जो 1 या 0 नहीं है, ज्यामिति के लिए बहुत कम समझ में आता है, यह अनुवाद बंद करने के लिए एक सुविधाजनक / बंद स्विच है।


0

यदि आप सजातीय क्लिप स्पेस कोअर्स को सामान्यीकृत डिवाइस निर्देशांक (NDC) कोर्ड्स में बदलने के बारे में पूछ रहे हैं, तो यह प्रक्रिया है: <x y z w> → <x/w y/w z/w>

इस GDSE Q / A पर क्लिप स्पेस को हमेशा "सजातीय क्लिप स्पेस" क्यों कहा जाता है? आपके लिए मददगार भी हो सकता है।


1
आपके उत्तर के लिए धन्यवाद। हालाँकि, मेरी समस्या प्रक्षेप के बारे में है। 3 डी आंख समन्वय के तहत ई 2 अंक, ई 2 कहें, 4 डी सजातीय स्थान कतरन एच 1, एच 2 के लिए अनुमानित हैं। फिर हम 4D सजातीय स्थान में प्रक्षेप करते हैं, खंड h1-h2 को 4D बिंदु h (t) = t * h1 + (1-t) * h2 पर क्लिप किया जाता है। सामान्यता की हानि के बिना, मान लें कि हमारे पास h1-h (t) भाग है (जो देखने योग्य है) रैस्टोरेशन चरण को खिला रहा है। इसलिए हमें संबंधित वर्टेक्स गुण उत्पन्न करने की आवश्यकता है (वर्टेक्स शेडर के आउटपुट प्रारूप के समान)। मेरा प्रश्न यह है कि इन नए शीर्षकों के गुण कैसे उत्पन्न करें?
स्टेनलेयर

मेरी समझ यह है कि एचसीएस में प्रक्षेप नहीं किया जाता है, लेकिन मुझसे गलती हो सकती है। यदि आपको अधिक / बेहतर उत्तर नहीं मिलते हैं, तो आप एसओ को रिस्किंग / माइग्रेट करने का प्रयास कर सकते हैं।
पिकालेक

ठीक है। क्या मैं सीधे इस सूत्र को SO पर स्थानांतरित कर सकता हूं, या मुझे वहां एक नया प्रश्न फिर से खोलना होगा।
स्टेनलेयर

आपसे दोबारा पूछने के सुझाव के लिए मेरी गलती; क्रॉस पोस्टिंग को आम तौर पर हतोत्साहित किया जाता है
पिकालेक

मुझे लगता है कि प्रवेश थियो को स्थानांतरित कर सकते हैं।
सिदार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.