वीआर और फ्रुम कलिंग


13

जब वीआर (स्टीरियो दृश्य) वातावरण प्रदान करते हैं, तो क्या आप लोग यह निर्धारित करने के लिए 2 फ्रुम चेक करने की सलाह देते हैं कि फ्रिलम कुलिंग पास के दौरान क्या खींचा जाना है या क्या कोई अन्य चेक है जो दोनों फ्रॉटा को संयोजित करने में सक्षम होगा?

जवाबों:


13

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

यहाँ छवि विवरण दर्ज करें

इस तरह की एक हताशा में एक छोटी सी जगह शामिल होती है जो मूल दो कुंठाओं के मिलन में नहीं थी। दोनों आँखों के बीच क्षैतिज रूप से एक छोटी मात्रा है; इसके अलावा, आरेख ऊर्ध्वाधर आयाम नहीं दिखाता है, लेकिन फ्रूटम वर्टेक्स को वापस खींचकर यह मूल फ्रॉसा के ऊपर और नीचे कुछ जगह शामिल करता है। हालाँकि, व्यावहारिक रूप से महत्वपूर्ण उद्देश्यों के लिए यह संभवतः मायने नहीं रखता है। Frustum culling आमतौर पर वैसे भी रूढ़िवादी है, और अतिरिक्त स्थान मोटाई में केवल कुछ सेंटीमीटर है।

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

फ्रिज़म कलिंग, एलओडी चयन, आदि को आँखों के बीच साझा करने के बजाय, हर फ्रेम में दो बार पुनः करने के बजाय, यह स्टीरियो रेंडरिंग की सीपीयू लागत को अनुकूलित करने का एक शानदार तरीका है। यह भी एक शर्त है यदि आप एक रेंडरिंग पद्धति का उपयोग करना चाहते हैं जो दोनों आँखों को एक ही पास में खींचती है, जैसे कि संचित स्टीरियो रेंडरिंग


2
धन्यवाद नाथन कि वास्तव में मैं क्या था, जहां आपको यह आरेख मिला है मैं पूछ सकता हूं, क्या यह ऑक्यूलस से किसी भी सार्वजनिक दस्तावेज में है?
गैरी वालिस

2
@GarryWallis Cass ने कुछ महीने पहले यह ट्वीट किया था।
नाथन रीड

5

यदि आवश्यक हो तो मैंने एवरिट के परिणामों को सामान्यीकृत किया है।

सामान्यीकृत सामान्य कुंठा

एक बोनस के रूप में, दृष्टि परिप्रेक्ष्य से बाएं / दाएं 0 को निकालने का एक तरीका:

left0   = n0 * (Mle13 - 1) / Mle11;
right1  = n1 * (Mre13 + 1) / Mre11;

यदि आप पंक्ति प्रमुख है। स्तंभ प्रमुख के लिए स्थानान्तरण। इस जवाब को cf


4

सावधान रहें, केवल कुंद करने के लिए एक कुंठा का उपयोग करना काम करता है अगर आंखों के दृष्टिकोण का संयुक्त क्षेत्र 180 डिग्री से कम है। अब 200 डिग्री के आसपास के बड़े क्षेत्र यानी Pimax 5k + और StarVR के साथ VR हेडसेट्स हैं । 180 डिग्री से अधिक के क्षेत्र के लिए पारंपरिक व्यू फ्रूटम या सिंगल प्रोजेक्शन मैट्रिक्स का निर्माण करना असंभव है।

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

एक संयुक्त दृश्य फ्रूटम अभी भी उपयोगी हो सकता है, लेकिन आपके कोड को उन मामलों से निपटने के लिए तैयार रहना चाहिए जहां यह सुनिश्चित करने के लिए निर्माण नहीं किया जा सकता है कि यह भविष्य के प्रमाण है। वैकल्पिक रूप से, प्रति आँख के दृश्य को करने पर विचार करें, या कोण-आधारित पुलिंग पर स्विच करें, जो 180 डिग्री से अधिक बड़े FOV को व्यक्त कर सकता है।

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