2011-12-30 7 views
6

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

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

डायरेक्टएक्स के PIX उपकरण की समान कार्यक्षमता है, और यही वह है जिसे मैं उम्मीद कर रहा हूं।

उत्तर

12

आप EXT_debug_marker एक्सटेंशन का उपयोग करके एक्सकोड के डीबग नेविगेटर में लेबल जोड़ सकते हैं। अपने कोड में glpushGroupMarkerEXT() और glPopGroupMarkerEXT() फ़ंक्शंस को कॉल करें। ओपनजीएल ईएस कॉल से पहले glpushGroupMarkerEXT() पर कॉल करें, जिसे आप एनोटेट करना चाहते हैं।

glPushGroupMarkerEXT(0, "Marker Name"); 

उन कॉल के बाद glpopGroupMarkerEXT() पर कॉल करें।

glPopGroupMarkerEXT(); 
+2

डिबगर में मानव-पठनीय लेबल इत्यादि बनाने के लिए 'glLabelObjectEXT() 'भी है। मैं 'glInsertEventMarkerEXT() 'भी देखता हूं, जिसका उल्लेख डब्ल्यूडब्ल्यूडीसी (मेरे नोट्स के अनुसार) में ऐप्पल द्वारा नहीं किया गया था, लेकिन मुझे लगता है कि आप घटनाओं के लेबल किए गए समूहों के बजाय साइनपॉस्ट पेश करेंगे। –

+0

हां, 'glInsertEventMarkerEXT' साइनपॉस्ट को सम्मिलित करता है - जिनमें से कुछ डीबगर द्वारा व्याख्या किए गए विशेष साइनपोस्ट हो सकते हैं। उदाहरण के लिए, आप 'glInsertEventMarkerEXT (0, "com.apple.GPUTools.event.debug-frame") को कॉल करके प्रोग्रामेटिक रूप से एक्सकोड ओपनजीएल ईएस फ़्रेम कैप्चर टूल का आह्वान कर सकते हैं। (यह डब्ल्यूडब्ल्यूडीसी 2011 में दिखाए गए InsertEventMarker का एकमात्र उपयोग था।) – rickster

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