मेरे पास एक वर्टेक्स शेडर है जिसमें मैं gl_Position निर्धारित करने के लिए बनावट लुकअप करता हूं। मैं इसे एक जीपीयू कण सिमुलेशन सिस्टम के हिस्से के रूप में उपयोग कर रहा हूं, जहां कण की स्थिति बनावट में संग्रहित होती है।वर्टेक्स शेडर में बनावट लुकअप आईपैड डिवाइस बनाम आईपैड सिम्युलेटर पर अलग-अलग व्यवहार करता है - ओपनजीएल ईएस 2.0
ऐसा लगता है कि: vec4 textureValue = texture2D(dataTexture, vec2(1.0, 1.0));
आईपैड डिवाइस की तुलना में सिम्युलेटर पर अलग-अलग व्यवहार करता है। सिम्युलेटर पर, बनावट लुकअप सफल होता है (उस स्थान का मान 0.5, 0.5 है) और मेरा कण वहां दिखाई देता है। हालांकि, आईपैड पर ही बनावट लुकअप लगातार 0.0, 0.0 लौट रहा है।
मैंने प्रारूप GL_FLOAT और GL_UNSIGNED_BYTE प्रारूप दोनों बनावट की कोशिश की है।
क्या किसी और ने इसका अनुभव किया है? जीएलएसएल ईएस स्पेक का कहना है कि बनावट लुकअप दोनों कशेरुक और टुकड़े के टुकड़ों में किया जा सकता है, इसलिए मुझे नहीं पता कि समस्या क्या है।
मैं आईओएस एसडीके 4.2
जो आपने पाया है वह एक बग या "खुश दुर्घटना" होना चाहिए। मेरे आईपैड पर (स्वीकार्य रूप से 4.2.1), GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0 देता है, जिसका अर्थ है कि कोई वर्टेक्स शेडर में बनावट लुकअप नहीं कर सकता है। मैं उत्सुक हूं कि आप अपने आईपैड 2 पर GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS के लिए क्या मूल्य प्राप्त करते हैं। –
हाय, 4.3.4 का उपयोग करके मेरा आईपैड 2 भी GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS (और GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS और GL_MAX_TEXTURE_IMAGE_UNITS दोनों के लिए 8) के लिए 0 देता है। मेरा अनुमान है कि आईपैड 2 पर ग्राफिक्स कार्ड इसका समर्थन करता है, लेकिन किसी कारण से ड्राइवर इसे अक्षम करता है ताकि विभिन्न आईओएस उपकरणों पर समान व्यवहार हो। मैंने अभी तक आईफोन या आईपैड 1 पर यह कोशिश नहीं की है। आईओएस आईपैड 4.3 सिम्युलेटर भी GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS के लिए 0 की रिपोर्ट करता है, लेकिन आपको सामान्य रूप से वर्टेक्स शेडर से बनावट तक पहुंचने की अनुमति देता है (खंड टुकड़े में नकली बनावट लुकअप को जोड़ने के बिना)। –
हू, दिलचस्प .. जितना मैं इस सुविधा का उपयोग करना चाहता हूं, मैं अपने ऐप को तोड़ने वाले हार्डवेयर के भविष्य के टुकड़े के बारे में बहुत पागल हूं यदि मेरा ऐप उस मूल्यवान मूल्य को अनदेखा करता है। :( –