2009-10-22 7 views
5

हैलो मैं आईफोन के लिए ओपनगल में प्रोग्रामिंग कर रहा हूं लेकिन मैं वर्तमान में एक अजीब फ्रेमबफर ऑब्जेक्ट त्रुटि से फंस गया हूं।फ़्रेमबफर ऑब्जेक्ट समस्या

पहले तो मुझे साइमन मौरिस से कुछ ट्यूटोरियल पीछा कर रहा था: http://web.me.com/smaurice/AppleCoder/Welcome.html

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

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

हालांकि संकलन और देखने चलाने के बाद सफेद आता है और कंसोल आउटपुट createFramebuffer प्रक्रिया के दौरान त्रुटि "पूरा फ्रेमबफर वस्तु% x बनाने में असफल"। (त्रुटि कंसोल आउटपुट: "जीएल कंट्रोलर [2071: 207] पूर्ण फ्रेमबफर ऑब्जेक्ट 0 बनाने में विफल रहा")।

मैं पहली बार सोचा कि यह मेरे कोड था तो मैं नई परियोजना में पिछले परियोजना से काम कर कोड फट और अब भी वही त्रुटियों का सामना करना। साथ ही मैंने नए प्रोजेक्ट कोड को पुराने प्रोजेक्ट में स्थानांतरित कर दिया और सफल आउटपुट के साथ संकलित किया।

मैं क्यों एक ही कोड एक नई परियोजना में सही ढंग से काम नहीं करेगा अभी तक नए कोड पुराने प्रोजेक्ट में सही ढंग से काम करेंगे करने के लिए संदेह में हूँ। अगर कोई जानता है कि मुझे क्या याद आ रहा है तो इसकी सराहना की जाएगी।

धन्यवाद।

(इसके अलावा से एप्पल नमूना कोड और नई परियोजना पर एक ही त्रुटि तब होती है कई EAGLViews के साथ परीक्षण किया है, लेकिन एक ViewController संलग्न के साथ पुरानी परियोजना पर नहीं होती है।)

+0

आपके द्वारा किए गए चरणों के बिना इसे उत्तर देना हमारे लिए मुश्किल है। आप हमें बताना चाहते हैं कि जब आप glCheckFramebufferStatusOES कहते हैं तो कौन सा परिणाम कोड वापस कर दिया गया था। – prideout

+0

कंसोल त्रुटि आउटपुट था 0. कदम: 1. Xcode से एक नई परियोजना (इस मामले Windows- आधारित अनुप्रयोग में) बनाएँ। 2. एक नया UIViewController बनाएं, यह विंडो सबव्यू से जुड़ा हुआ है। 3. नियंत्रित परीक्षण के लिए, ट्यूटोरियल या सरल नमूना कोडों में से एक से EAGLView को पकड़ें। 4. EIViewController के दृश्य को EAGLView के रूप में सेट करें। 5. (आवश्यक फ्रेमवर्क जोड़ें।) बनाएं और जाएं। समस्या UIViewController के बिना भी होती है, लेकिन उपर्युक्त चरण बताते हैं कि मैं क्या हासिल करने की कोशिश कर रहा हूं। निश्चित नहीं है कि यह एक नई परियोजना के साथ क्यों नहीं किया जा सकता है, हालांकि मुख्य मुद्दा यह है कि मुझे सहायता चाहिए। – Wesux

उत्तर

0

वहाँ OpenGLES टेम्पलेट में एक परिवर्तन किया गया है अंतिम आईफोन एसडीके से वर्तमान में कार्यक्रम। वहाँ समर्थन ES2.0 और ES1.1 के बीच चुनने

कृपया ध्यान दें कि के लिए लिखा कोड है।

+0

मैंने इसके बारे में भी सोचा, मेरे परीक्षण के लिए नए OpenGLES टेम्पलेट का उपयोग किया और यह भी काम करने में विफल रहा। नमूना टेम्पलेट से सभी EAGLView और संबंधित वर्गों जैसे ES1 और ES2 रेंडरर की प्रतिलिपि करते समय छोड़कर पुराने प्रोजेक्ट में पूरी तरह से ठीक काम करता है। ऐसा लगता है कि यह दूसरी तरह से काम नहीं करना चाहता (व्यू कंट्रोलर कक्षाओं को नए एसडीके ओपनगल टेम्पलेट में ले जाना)। – Wesux

4

एक दृश्य नियंत्रक के दृश्य के रूप में एक EAGLView सेट करने का प्रयास करते समय मैंने एक ही समस्या में भाग लिया है। इसके बजाय, व्यू कंट्रोलर की व्यू प्रॉपर्टी को मानक UIView में संलग्न करें। फिर, बाद में, जब दृश्य सफलतापूर्वक लोड हो गया (शायद दृश्य नियंत्रक के दृश्यडिडलोड विधि में), एक EAGLView को तुरंत चालू करें और इसे नियंत्रक.दृश्य देखने के लिए एक सबव्यूव के रूप में जोड़ें।

7

अंधेरे में शॉट यहाँ, आप क्या किया है के बारे में अधिक जानकारी की कमी है, लेकिन ... आप प्रोग्राम (-initWithFrame:) आईबी के माध्यम से अपने EAGLView instantiating कर रहे हैं (और इस प्रकार -initWithCoder: माध्यम से जा रहा है), या?

आप EAGLView.m को देखें, तो आपको लगता है कि केवल -initWithCoder: वास्तविक प्रारंभ आवश्यक करता दिखाई देगा। उस प्रारंभिक कोड को किसी साझा (या -initWithFrame: केवल) प्रारंभकर्ता को माइग्रेट करना बहुत आसान है।

+0

धन्यवाद, इस मुद्दे को ठीक से चलाया – blueberryfields

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