2013-06-05 4 views
6

मैं एंडइंजिन और ओपनजीएल ES 2.0 के साथ काम कर रहा हूं। मैं GL_MAX_TEXTURE_SIZE पढ़ने के बारे में पढ़ता रहता हूं और मुझे अपने ग्रंथों को 1024x1024 के तहत कैसे रखना चाहिए। मैंने टीएमएक्स एक्सटेंशन में टाइलसेट का उपयोग करने से पहले और गलत शुरुआत की है (यदि आप एंडींजिन नहीं जानते हैं तो वास्तव में कोई फर्क नहीं पड़ता) मैं एक टाइलसेट प्राप्त करता हूं जो 1024px से अधिक बनावट बना देता है। मैं टाइल्ससेट को दो में विभाजित करने की सोच रहा हूं, जिससे उन्हें "सुरक्षित" बना दिया जा रहा है। लेकिन मुझे पिछले कुछ वर्षों में जारी कोई भी डिवाइस नहीं मिला है, जिसकी सीमा 2048x2048 के तहत निर्धारित है। क्या कोई सूची या वेबसाइट है जिसका उपयोग मैं GL_MAX_TEXTURE_SIZE द्वारा डिवाइस फ़िल्टर करने के लिए कर सकता हूं?एंड्रॉइड डिवाइस GL_MAX_TEXTURE_SIZE सीमा, सुरक्षित बनावट आकार


मैं निम्नलिखित प्रश्नों पढ़ें:

And I used this site to search for devices. लेकिन मैं GL_MAX_TEXTURE_SIZE, जो खोज थकाऊ बनाता द्वारा/फिल्टर द्वारा खोज नहीं कर सकते। मैं ज्यादातर पूछ रहा हूं क्योंकि मैंने गलत शुरुआत की है, यह एक शौक परियोजना है और संभवतः संभावित डिवाइसों की संख्या की तुलना में काम की मात्रा बहुत बड़ी हो सकती है (मुझे 0 की उम्मीद है)।

+0

आप का उपयोग जावा कोड में अपने Android डिवाइस क्वेरी कर सकते हैं: पूर्णांक [] अधिकतम = नई int [1]; GLES20.glGetIntegerv (GLES20.GL_MAX_TEXTURE_SIZE, अधिकतम, 0); – Antinous

उत्तर

6

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

यदि आप नए उपकरणों को लक्षित कर रहे हैं और पुराने लोगों को संगत रखना चाहते हैं, तो इसे आपके टाइल्सेट को विभाजित करने में कोई दिक्कत नहीं होनी चाहिए। आखिरकार, यदि आप पृष्ठभूमि के लिए दो या तीन spritesheets का उपयोग करते हैं, तो आपको बहुत से संदर्भ स्विच करने की संभावना नहीं है।

+0

समस्या यह है कि मैंने टीएमएक्स फ़ाइल प्रारूप का उपयोग करके और इस टाइलसेट का उपयोग करके कई स्तरों को डिजाइन किया है। 1024 फिट करने के लिए इसे तोड़ने से सभी स्तर भी टूट जाएंगे। मैं शायद मानचित्र में टाइल्स को पुनर्निर्मित करने के लिए एक स्क्रिप्ट लिख सकता हूं, लेकिन नक्शा परत एक्सएमएल के अंदर ज़िपित प्रारूप में सहेजी गई है। लंबी कहानी छोटी, मैं यह करूँगा अगर मुझे पता चलता है कि यह कई फोनों के लिए गेम तोड़ता है। अन्यथा मैं गुजर जाऊंगा और इसे और अधिक गंभीर परियोजनाओं के लिए याद रखूंगा। – sm4

+1

एक और चीज है जो आप कर सकते हैं ... ओपनजीएल में एक बनावट लोड करने से पहले आपको इसे बिटमैप के रूप में लोड करने की आवश्यकता है, आप बनावट को चार में विभाजित कर सकते हैं (चार बिटमैप्स बना सकते हैं), सभी क्वार्टर को ओपनजीएल के अंदर विभिन्न बनावट में लोड करें और फिर सेव करें स्प्राइट के एक ही प्रतिनिधित्व में बनावट पॉइंटर्स। फिर आप यूवी समन्वय को एक चौथाई से पूर्ण बिटमैप में मैप कर सकते हैं, और आपको आवश्यक विशिष्ट बनावट को बांध सकते हैं। यह धीमा लोड होगा, लेकिन शायद यह आपके लिए स्वीकार्य है। सौभाग्य! – RedOrav

+2

मुझे लगता है कि मेरा प्रश्न वास्तव में मुझसे पूछता नहीं था कि मुझे क्या चाहिए।हालांकि आपने इसका सबसे सही उत्तर दिया है। धन्यवाद। – sm4

1

यदि आपके पास अभी भी व्यक्तिगत छवि फ़ाइलें हैं, तो उन्हें छोटे आकार के एटलस या कस्टम आकार के एटलस में तोड़ना है यदि आप LibGdx लाइब्रेरी से TexturePacker2 टूल का उपयोग करते हैं तो आसान है।

मुझे उपकरणों की सटीक सीमा नहीं पता है, लेकिन डिवाइस के निम्नतम अंत में विचार करना हमेशा बेहतर होता है जिसे आप समर्थन देना चाहते हैं और वहां से ऊपर की ओर बढ़ना चाहते हैं। LibGdx उपकरण का उपयोग करके, आप आसानी से बाद में अपना मन बदल सकते हैं, इसलिए यह सबसे लचीला समाधान है।

देखो पर: LibGdx TexturePacker

संबंधित मुद्दे