Megatexture कैसे काम करता है?


21

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

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

योग करने के लिए, यह कैसे काम करता है, यह महान क्यों है और मैं ऐसा ही कुछ कैसे कर सकता हूं।

जवाबों:


15

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

मैं एक दृष्टिकोण पर अधिक विस्तृत जानकारी के लिए इस पृष्ठ पर सामग्री के माध्यम से जाने की सलाह देता हूं: http://silverspaceship.com/src/svt/


4

पहले से मौजूद SGI हार्डवेयर कार्यान्वयन के लिए क्लिपमैपिंग की जाँच करें।

अधिक हाल ही में मेगाटेक्स्ट का उपयोग स्पार्स वर्चुअल टेक्सचरिंग (SVT) के लिए एक pr नाम के रूप में किया जा रहा है

एसवीटी एक छोटे रिज़ॉल्यूशन वाले कैमरे के दृश्य को प्रस्तुत करता है, यह देखते हुए कि कौन सी बनावट और मिपमैप की आवश्यकता होगी। तब सीपीयू रूटीन उन बनावट / मिप चंक को मेमोरी (यदि मेमोरी में नहीं है) में लाने के लिए डिस्क सिस्टम पर लोड करता है और फिर लोडेड टेक्सचर चंक को एक बड़े टेक्सचर एटलस के सेक्शन में रखा जाता है (आमतौर पर 128x128 कहने पर)

जैसे ही टेक्सटाइल चंक्स को लाया जाता है, एक रीडायरेक्शन टेक्सचर (एक वर्चुअल पेज मैप) को अपडेट किया जाता है, जो आवश्यक बनावट के मॉडल लेता है और इसे बड़ी बनावट के विशेष हिस्से में रीडायरेक्ट करता है, जहाँ इसका वास्तव में संग्रहित किया जाता है।


वह काफी समझाता है। मैं सोच रहा था, अगर केवल स्ट्रीमिंग चल रही थी, तो वे कैसे उस भारी बनावट की चोंच को स्ट्रीम करने में कामयाब रहे, या तो एक एचडीडी या एक डिस्क में तेजी से किसी भी उपयोग के लिए, मध्यवर्ती एटलस जवाब देता है कि काफी अच्छी तरह से। इसके अलावा, मैं अब देख सकता हूं कि पारंपरिक तरीकों से अधिक मेमोरी कुशल क्यों है। मैं SVT के बारे में अधिक जानकारी के लिए चारों ओर देखूंगा (Flawe का लिंक उसके लिए एक अच्छा शुरुआती बिंदु जैसा दिखता है)
डेमोनियोरम

1

आप मेगेटटेक्स्टर को एक तरह की "स्ट्रीमिंग" बनावट के रूप में सोच सकते हैं। एक बड़े पैमाने पर, पूरी तरह से विस्तृत बनावट वाली छवि (सीधे शब्दों में कहें) जो इसके वर्गों के रूप में पढ़ी जाती है, को प्रदर्शित करने की आवश्यकता होती है। मुझे यकीन है कि इससे कहीं अधिक का एक नरक है, हालांकि, स्पष्ट चीजों के बीच LOD / mipmapping, लोडिंग और संसाधन प्रबंधन।

इस पर विकिपीडिया का एक लेख है।


2
मैंने पहले लेख पढ़ा है, लेकिन यह विवरण पर थोड़ा प्रकाश है। उस तकनीक पर वास्तविक विवरण प्राप्त करना थोड़ा कठिन है। काश ID ने इसका एक पेपर बनाया होता ...
Daemoniorum
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.