2011-10-07 15 views
5

मैं डायरेक्टएक्स का उपयोग कर ओपनजीएल रेंडर विंडो में प्रस्तुत करने में सक्षम होना चाहता हूं। ऐसा इसलिए है क्योंकि मेरे बाद की विशेषताएं केवल DirectX में समर्थित हैं।मिक्सिंग डायरेक्टएक्स और ओपनजीएल

मैंने सुना है कि कुछ साल पहले ऐसा करना संभव है और मुझे उम्मीद है कि यह अभी भी संभव होना चाहिए।

मुझे लगता है कि इसमें वीआरएएम के सही हिस्से और सही गहराई बफर को डायरेक्टएक्स इंगित करना शामिल होगा।

इसके अलावा एक ट्यूटोरियल या बस एक स्पष्टीकरण बेहद उपयोगी होगा।

+0

आपको ओपनजीएल में इसे आउटपुट करने की आवश्यकता क्यों है? यदि डायरेक्टएक्स उपलब्ध है तो क्यों न केवल डीएक्स रेंडरर के साथ चिपके रहें? – glenatron

+0

मुख्य रूप से क्योंकि मुझे विंडोज़ ओपनजीएल कमांड की आवश्यकता होती है ताकि विंडोज़ विंडो विंडो में ओपनजीएल रेंडर सतह को सही ढंग से प्रस्तुत किया जा सके। – ceorron

+8

"ऐसा इसलिए है क्योंकि मेरे बाद की विशेषताएं केवल डायरेक्ट एक्स में समर्थित हैं।" और वे क्या विशेषताएं हैं? मुझे बहुत कम डी 3 डी फीचर्स पता है जो ओपनजीएल के तहत भी उपलब्ध नहीं हैं। –

उत्तर

2

मिक्सिंग ओपनजीएल और डायरेक्ट 3 डी काम नहीं करेगा, और AFAIK इसका कभी भी उपयोग नहीं किया जाता है। क्या मैं पूछ सकता हूं कि आपको डायरेक्ट 3 डी की कौन सी विशेषताओं की आवश्यकता है, ओपनजीएल ऑफर नहीं करता है?

3

कम से कम एनवीआईडीआईए NV_DX_interop extension है, जो आपको डायरेक्ट 3 डी 9 बफर/बनावट/सतहों का उपयोग सीधे ओपनजीएल बफर/बनावट/रेंडरबफर (इसलिए दूसरी तरफ) के रूप में करते हैं। लेकिन मुझे इसके साथ कोई अनुभव नहीं है और मुझे नहीं पता कि यह व्यापक रूप से समर्थित है या वास्तव में कोई अच्छा काम करता है।

यह अधिक इंटरैस्टिंग होगा जो आपको लगता है कि केवल Direct3D में उपलब्ध हैं। हो सकता है कि हम आपको ओपनजीएल के साथ इसे कैसे प्राप्त कर सकें, क्योंकि डायरेक्ट 3 डी में उपलब्ध नहीं हैं और ओपनजीएल में नहीं हैं, इसलिए कई सुविधाएं (यदि कोई हैं) नहीं हैं। यद्यपि यदि आपको एटीआई कार्ड मिला है, तो उपलब्ध है और वास्तव में सही तरीके से काम कर रहा है, कभी-कभी दो अलग-अलग चीजें हो सकती हैं।

+0

ध्यान दें कि वह इंटरऑप आपको एपीआई के साथ _same_ विंडो में प्रस्तुत करने की अनुमति नहीं देता है। यदि आपके पास अलग-अलग विंडो हैं, या ऑफ-स्क्रीन प्रतिपादन संदर्भ हैं, तो आप इसका उपयोग कर सकते हैं। लेकिन एक ही सतह पर नहीं। –

+0

आप ओपनजीएल के माध्यम से एक ऑफस्क्रीन सतह में, दूसरे में डायरेक्टएक्स के साथ प्रस्तुत कर सकते हैं, फिर उनके बनावट कॉपी और गठबंधन कर सकते हैं। –

0

आप कर सकते हैं। कम से कम एनवीआईडीआईए के लिए! NV_DX_interop जांचें। हालांकि, ओपनजीएल में ओपनजीएल में प्रत्येक डायरेक्टएक्स सुविधा समर्थित है क्योंकि डायरेक्टएक्स की तुलना में ओपनजीएल अधिक रॉ/निम्न स्तर है! जिस तरह से इसे लागू किया गया है, वह अलग हो सकता है। दोबारा, हमें बताएं कि आप जिस डायरेक्टएक्स की चाहत रखते हैं और मैं आपको बता सकता हूं कि इसे कैसे कार्यान्वित किया जाए।

0

ओपनजीएल और डायरेक्ट 3 डी के बीच एक अंतर का एक विशिष्ट उदाहरण, जो कुछ मैं स्वयं शोध कर रहा हूं, वह है कि डायरेक्टशो (डायरेक्ट 3 डी का सबसेट) में, मेरे पैनासोनिक डीवीसीआरओ-एचडी आधारित कैमरों के लिए वीडियो कैप्चर फिल्टर हैं। तो उस एपीआई के माध्यम से एकत्रित लाइव स्ट्रीम, मैं ओपनजीएल पुस्तकालयों में इनपुट के रूप में उपयोग करना चाहता हूं। ऐसी एक लाइब्रेरी ओपनफ्रेम वर्क्स है, जो ओपनजीएल आधारित है। मैं देख रहा हूं कि मैं इस स्थानांतरण को कितना कुशल बना सकता हूं। मौजूदा ओपनफ्रेम वर्क्स वीडियो एपीआई थोड़ा पुराना और बहिष्कृत डायरेक्टशो एपीआई का उपयोग करता है, और डायरेक्टशो से ओपनफ्रेम वर्क्स तक पिक्सल प्राप्त करने के लिए ब्रूट फोर्स रणनीति का उपयोग करता है।

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