मॉडल व्यू प्रोजेक्शन मैट्रिक्स का उद्देश्य


102

हम किन उद्देश्यों के लिए मॉडल व्यू प्रोजेक्शन मैट्रिक्स का उपयोग कर रहे हैं? शेडर्स को मॉडल व्यू प्रोजेक्शन मैट्रिक्स की आवश्यकता क्यों है?


12
बस इस लिंक को देखें: songho.ca/opengl/gl_transform.html
iKushal

3
मैंने कंप्यूटर ग्राफिक्स को समर्पित एक स्टैक एक्सचेंज साइट खोलने का सुझाव दिया, और इस प्रश्न को एक उदाहरण प्रश्न के रूप में चुना । यदि आप शुरू की जा रही साइट को देखने में रुचि रखते हैं, तो computergraphics.stackexchange.com का पालन करें !
WIP

जवाबों:


196

मॉडल, दृश्य और प्रोजेक्शन मैट्रीस तीन अलग-अलग मैट्रिसेस हैं। किसी ऑब्जेक्ट के लोकल कॉर्डिनेट स्पेस से वर्ल्ड स्पेस में मॉडल मैप्स, वर्ल्ड स्पेस से कैमरा स्पेस के लिए व्यू, कैमरा से स्क्रीन पर प्रोजेक्शन।

यदि आप तीनों की रचना करते हैं, तो आप ऑब्जेक्ट रिक्ति से लेकर स्क्रीन स्पेस तक सभी तरह से मैप करने के लिए एक परिणाम का उपयोग कर सकते हैं, जिससे आप यह पता लगा सकते हैं कि आपको आने वाले वर्टेक्स पोजिशन से प्रोग्रामेबल पाइपलाइन के अगले चरण में क्या पास करना है।

पुराने की फिक्स्ड फ़ंक्शनल पाइपलाइन में, आप एक साथ मॉडल और दृश्य लागू करेंगे, फिर उनसे प्राप्त एक और परिणाम का उपयोग करके लाइटिंग का काम करेंगे (कुछ फिक्स के साथ ताकि मानदंड अभी भी यूनिट की लंबाई हो, भले ही आपने ऑब्जेक्ट को कुछ स्केलिंग लागू की हो ), फिर प्रक्षेपण लागू करें। आप ओपनजीएल में परिलक्षित उस तस्वीर को देख सकते हैं, जो कभी भी मॉडल को अलग नहीं करती है और मैट्रिसेस को देखती है - उन्हें एकल मॉडलव्यू मैट्रिक्स स्टैक के रूप में रखते हुए। आप इसलिए भी कभी-कभी रंगों में परिलक्षित होते हैं।

तो: कंपोज़्ड मॉडल व्यू प्रोजेक्शन मैट्रिक्स का उपयोग अक्सर शेड्स द्वारा स्क्रीन पर प्रत्येक मॉडल के लिए आपके द्वारा लोड किए गए कोने से मैप करने के लिए किया जाता है। यह आवश्यक नहीं है, एक ही चीज़ को प्राप्त करने के बहुत सारे तरीके हैं, यह सिर्फ सामान्य है क्योंकि यह सभी संभव रैखिक परिवर्तनों की अनुमति देता है। उस वजह से, यह एक कम रचित संस्करण भी तु पुराने तय पाइपलाइन दुनिया में आदर्श था।


3
तो कई वस्तुओं (जालों) के लिए हमें कई मॉडल व्यू मैट्रिक्स की आवश्यकता होती है, हमें ज़रूरत नहीं है?
यूरी विकुलोव

5
यह मानते हुए कि वे स्वतंत्र रूप से आगे बढ़ सकते हैं या फिर अलग से तैनात किए गए हैं। तो यह सबसे दूर और सबसे आम तरीका है - आगे बढ़ने के लिए एक मॉडल के रूप में मॉडलव्यू या प्रोजेक्शनमॉडल व्यू पास करें और इसे सीपीयू पर वर्तमान मॉडल के लिए सेट करें।
टॉमी

हाय टॉमी, क्या आप इस मॉडल व्यू प्रोजेक्शन मैट्रिक्स का उपयोग करके Android में ओपेंगल Es2.0 में पैन कार्यक्षमता के लिए कोई नमूना कोड सुझा सकते हैं। मैंने और लिंक लिंक किए, मुझे कोई स्पष्ट विचार नहीं मिला। यदि कोई नमूना कोड का मतलब है, तो मेरे लिए इसे समझना आसान है ..
हरिकृष्णन

1
मेरा एक सवाल है। यदि एमवी मैट्रिक्स का उपयोग करते हुए ओपनजीएल और यदि हम कैमरा स्पेस से विश्व अंतरिक्ष में जाने के लिए गए तो हमें उल्टा (प्रोजेक्शन मैट्रिक्स * व्यू मैट्रिक्स) * (कर्सर पोजिशन) करना होगा, लेकिन यदि मॉडल-व्यू एक रचित मैट्रिक्स है। हम मॉडल और व्यू मैट्रिक्स को कैसे अलग करते हैं ताकि मैं उस गणना के लिए व्यू मैट्रिक्स का उपयोग कर सकूं। इसलिए मुझे उन्हें अलग रखने की जरूरत है?
एवरन बिंगोएल

@ EvrenBingøl क्या आपने अभी तक अपना जवाब दिया है? मैंने अपने मॉडल को रखा और मैट्रिसेस को अलग देखा, लेकिन मैं आपके प्रश्न का वास्तविक उत्तर जानना चाहूंगा कि क्या मुझे इसे अलग रखना चाहिए या नहीं।
tom_mai78101

9

क्योंकि मैट्रिस सुविधाजनक हैं। मैट्रिसेस विभिन्न स्थानों के संबंध में स्थानों / दिशाओं को परिवर्तित करने में मदद करते हैं (एक स्थान को 3 लंबवत अक्षों और एक मूल द्वारा परिभाषित किया जा सकता है)।

यहाँ टिप्पणियों में @ किंवदंतियों 2k द्वारा निर्दिष्ट पुस्तक से एक उदाहरण है।

कार्टेशिया के निवासी अपने शहर के नक्शे का उपयोग शहर के केंद्र में काफी समझदारी से करते हैं और कम्पास के कार्डिनल बिंदुओं के साथ निर्देशित कुल्हाड़ियों। डिस्लेक्सिया के निवासी अपने शहर के नक्शे का उपयोग एक मनमाना बिंदु पर केंद्रित निर्देशांक और कुछ मनमाने दिशाओं में चलने वाले कुल्हाड़ियों के साथ करते हैं जो शायद उस समय एक अच्छा विचार था। दोनों शहरों के नागरिक अपने-अपने नक्शों से काफी खुश हैं, लेकिन स्टेट ट्रांसपोर्टेशन इंजीनियर ने कार्टेशिया और डिस्लेक्सिया के बीच पहले हाईवे के लिए एक बजट चलाने का काम सौंपा, जिसमें दोनों शहरों का ब्योरा दिखाने के लिए एक नक्शे की जरूरत है, जो इसीलिए एक तीसरा परिचय प्रस्तुत करता है प्रणाली जो उसके लिए श्रेष्ठ है, हालांकि किसी और के लिए जरूरी नहीं है।

यहाँ एक और उदाहरण है,

मान लें कि आपने गेम में एक कार ऑब्जेक्ट बनाया है, जिसमें यह दुनिया के को-ऑर्डिनेट्स का उपयोग करते हुए शीर्ष स्थान पर है। मान लीजिए कि आपको इस कार का उपयोग किसी अन्य गेम में पूरी तरह से अलग दुनिया में करना है, तो आपको फिर से पदों को परिभाषित करना होगा और गणना जटिल हो जाएगी। ऐसा इसलिए है क्योंकि आपको फिर से कार, खिड़की, हुड, हेडलाइट, पहियों आदि की गणना करनी है, कार में नई दुनिया के संबंध में।

मॉडल, दृश्य और प्रक्षेपण की अवधारणाओं को समझने के लिए इस वीडियो को देखें । (अत्यधिक सिफारिशित)

फिर इसे यह समझने के लिए देखें कि दुनिया में खामियों का प्रतिनिधित्व मैट्रिस के रूप में कैसे किया जाता है और उन्हें कैसे बदल दिया जाता है।


यदि आप इसे गहराई से सोचते हैं, तो आप महसूस करेंगे कि अंततः परिवर्तन एक वस्तु की उत्पत्ति (यानी एकल बिंदु) पर आधारित है, वस्तु के सभी कोने (मेष / मॉडल औपचारिक रूप से) परिवर्तन से गुजरेंगे अर्थात सभी 1000 कोने गुणा हो जाएंगे मॉडल मैट्रिक्स द्वारा। इसलिए आपकी बात ठीक नहीं है। मॉडल मैट्रिक्स बस वह मैट्रिक्स है जो मॉडल स्पेस में वर्टिकल को वर्ल्ड स्पेस में बदल देता है। यहां कोई प्रदर्शन लाभ नहीं है, यह सिर्फ सुविधा है।
लीजेंड्स 2

यदि हां, तो वे सिर्फ एक ही 3D स्थान में हर बिंदु का प्रतिनिधित्व क्यों नहीं करते हैं? लाभ तब होना चाहिए जब आप किसी दृश्य के आउटपुट का उपयोग किसी अन्य दृश्य के लिए कर सकते हैं जो किसी अन्य चल दृश्य के लिए एक इनपुट हो सकता है :)
Cegprakash

1
वे एक ही स्थान में सभी कोने का प्रतिनिधित्व नहीं करते हैं क्योंकि यह दुनिया की तरह अधिक से अधिक अंतरिक्ष में सापेक्ष स्थान में काम करने के लिए सुविधाजनक है। एक रोबोट कहो, जब 2 मीटर आगे बढ़ने की आज्ञा दी गई थी, तो यह अपनी आंख को wrt करना दुनिया के केंद्र का पता लगाने की तुलना में इसके लिए अधिक उपयुक्त है, फिर सही परिणामी निर्देशांक की गणना करना।
लीजेंड 2k

मुझे लगता है कि आप सही हैं .. किसी भी तरह के टुकड़े को हर पिक्सेल के लिए बुलाया जाएगा और हम जटिल जालों के मामले में हर पिक्सेल के लिए मैट्रिक्स गुणन करेंगे। : |
सीगप्रकाश

2
टुकड़ा छायादार में केवल प्रकाश / रंग गणना की जाती है, जब तक डेटा टुकड़े टुकड़े करने वाले तक पहुंचता है, तब तक सभी स्थिति गणना पूरी हो जाती है (अर्थात शीर्ष छाया में); कई समन्वय प्रणालियों का उपयोग करने के बारे में एक बेहतर व्याख्या यहां दी गई है । यह पुस्तक एक उत्कृष्ट 3 डी गेम गणित संसाधन है। पुस्तक की वेबसाइट से एक नमूना पीडीएफ के रूप में एक ही अध्याय
लीजेंड्स 2
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.