2011-11-08 16 views
6

प्रदर्शित करता है मेरे पास एक उप-वर्गीकृत CAOpenGLLayerclass है जो drawInCGLContext ओवरराइड करता है, वहां मैं OpenGL के साथ एक आयताकार खींचता हूं। CAOpenGLLayer को CALayer में जोड़ा गया है और दिखाया गया है।CAOpenGLLayer रिमोट कॉन्टेक्स्ट

तो जब मैं कुछ आकर्षित करना चाहता हूं तो मुझे इस आर्किटेक्चर के साथ drawInCGLContext में ऐसा करने की आवश्यकता होगी।

जो मैं चाहता हूं वह एक अन्य प्रकार का संदर्भ है जो किसी अन्य class द्वारा ड्रॉ, एनिमेट या प्रस्तुत करने के लिए उपयोग किया जाता है लेकिन प्रत्येक बार drawInCGLContext होता है।

तो मूल रूप से केवल एकमात्र चीज जो मेरे सबक्लास को करना चाहिए वह दूरस्थ (OpenGL)context प्रदर्शित करता है, इसे प्राप्त करने का सबसे अच्छा तरीका क्या है? या मुझे एक अलग दृष्टिकोण पर विचार करना चाहिए?

* CALayer का उपयोग नहीं करना एक विकल्प नहीं है।

उत्तर

3

क्या आपने फ्रेम बफर ऑब्जेक्ट (एफबीओ) का उपयोग करने पर विचार किया है? आप एक बनावट बना सकते हैं जो एक बनावट द्वारा समर्थित है। आपकी "रिमोट" ड्राइंग क्लास एफबीओ में आकर्षित हो सकती है, जिससे चित्रण उस बनावट पर जा सकता है जो इसका समर्थन करता है। फिर आप उस बनावट का उपयोग कहीं और कर सकते हैं, जैसे कि इसे अपने CAOpenGLLayer उप-वर्ग में स्क्रीन पर ब्लूट करना। एफबीओ का उपयोग करने के तरीके के विवरण के लिए this link देखें।

+0

आखिरकार मैं ओपनजीएल बफर का उपयोग कर समाप्त हुआ, हां। –

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