से कॉल करते समय विफल रहता है ViewDidLoad से बनावट लोड हो रहा है ठीक है। लेकिन अगर मैं उन्हें GLKViewController
अद्यतन से लोड करने का प्रयास करता हूं तो मुझे एक त्रुटि मिलती है। मैं ऐसा इसलिए करता हूं क्योंकि मैं दृश्य को बदलने के बिना एक नई पृष्ठभूमि बनावट में स्वैप करना चाहता हूं।GLKTextureLoader अद्यतन
यह अंतिम अपग्रेड से पहले काम कर रहा था। शायद मैं समय के साथ भाग्यशाली था। मुझे संदेह है कि यह असफल रहा है क्योंकि कुछ धागा व्यस्त है या कुछ?
यहां पूरी तरह से त्रुटि है।
डोमेन = GLKTextureLoaderErrorDomain कोड = 8 "कार्रवाई पूर्ण नहीं किया जा सका। (GLKTextureLoaderErrorDomain त्रुटि 8.)" UserInfo = 0x10b5b510 {GLKTextureLoaderGLErrorKey = 1282, GLKTextureLoaderErrorKey = ओपन त्रुटि}
तो सवाल यह है, क्या मैं सुरक्षित रूप से GLKViewController
अद्यतन फ़ंक्शन से बनावट लोड कर सकता हूं? या क्या मुझे अपने दृष्टिकोण पर पुनर्विचार करने और पूरे दृश्य या कुछ को पुनः लोड करने की आवश्यकता है?
-(void) LoadTexture:(NSString *)texture textureInfo:(GLKTextureInfo**)textureInfo
{
NSString *path = [[NSBundle mainBundle] pathForResource:texture ofType:@"png"];
NSError *error = nil;
(*textureInfo) = [GLKTextureLoader textureWithContentsOfFile:path options:nil error:&error];
NSLog(@"path %@", path);
if(!(*textureInfo))
{
NSLog(@"Failed to load texture %@ %@", texture, error);
}
else
{
NSLog(@"LOADED Texture %@ !!! YAY!!! ", texture);
}
}
धन्यवाद,
डेविड
मेरे पास एक ही समस्या है। क्या आपको एक समाधान मिला? – hanno
नहीं मैंने अभी तक जांच नहीं की है। ऐसा लगता है कि कुछ संसाधन व्यस्त होने पर यह तुल्यकालिक कॉल विफल हो सकती है। मुझे लगता है कि समाधान लोड करना है इस फ़ंक्शन के लंबे संस्करण का उपयोग करके असीमित रूप से है जहां आप एक पूर्ण हैंडलर में पास करते हैं। इस स्थगित संस्करण का अर्थ है कि आपको बाद में बनावट मिल जाएगी ताकि इसे सही तरीके से संभाला जा सके, लेकिन मुझे उम्मीद है कि यह समाधान होगा। - बनावट WithContentsOfFile: विकल्प: कतार: समापन हैंडलर: –
मैंने अंत में छोड़ दिया और केवल सादे पुराने glTexImage2D का उपयोग किया। – hanno