अगर हम एमएस पेंट जैसे एप्लिकेशन बनाना चाहते हैं, तो क्या हमें ग्राफिक्स प्रस्तुत करने के लिए ओपनजीएल का उपयोग करना चाहिए? पारंपरिक जीडीआई बनाम ओपनजीएल का उपयोग करते हुए मैं प्रदर्शन के बारे में उल्लेख करना चाहता हूं। और यदि इस उद्देश्य के लिए कुछ बेहतर libs मौजूद हैं, तो कृपया मुझे एक देखें।क्या हमें 2 डी ग्राफिक्स के लिए ओपनजीएल का उपयोग करना चाहिए?
उत्तर
जीडीआई, एक्स 11, ओपनजीएल ... एपीआई प्रस्तुत कर रहे हैं, यानी आप आम तौर पर छवि मैनिपुलेशन के लिए उनका उपयोग नहीं करते हैं (आप यह कर सकते हैं, लेकिन इसे कुछ सावधानियों की आवश्यकता है)।
एमएस पेंट जैसे ड्राइंग एप्लिकेशन में, यदि यह पिक्सेल आधारित है, तो आप आमतौर पर पारंपरिक कोड या एक विशेष छवि मैनिपुलेशन लाइब्रेरी के साथ कुछ चित्र बफर में हेरफेर करेंगे, फिर प्रतिपादन API को पूर्ण बफर भेजें।
यदि आपके डेटा मॉडल में स्ट्रोक और व्यक्तिगत आकार होते हैं, यानी वेक्टर ग्राफिक्स, तो ओपनजीएल काफी अच्छा बैकएंड बनाता है। हालांकि, वेक्टर ग्राफिक्स के लिए कुछ अन्य एपीआई को देखने लायक हो सकते हैं, जैसे ओपनवीजी (जो इसके वर्तमान कार्यान्वयन में ओपनजीएल के शीर्ष पर बैठता है, लेकिन जीपीयू पर सीधे संचालित मूल कार्यान्वयन आ सकता है)।
अपने उपयोग परिदृश्य आप वर्तमान कंप्यूटर पर किसी भी प्रदर्शन समस्याओं में भाग नहीं लेंगे, ताकि मापदंड से अपने एपीआई नहीं चुनते में। ओपन जब यह संरचना, अल्फा सम्मिश्रण, आदि हालांकि प्रणाली और GPU के आधार पर शुद्ध GDI एक चाप ड्राइंग या जटिल घुमावदार नियमों के साथ एक जटिल स्वयं अन्तर्विभाजक बहुभुज भरने की तरह इतना आसान बातों के लिए ओपन मात सकता है की बात आती है निश्चित रूप से GDI से तेज है।
कोई अच्छा कारण इस के लिए ओपन का उपयोग नहीं नहीं है। अगर आपको जीडीआई के साथ वर्षों का अनुभव हो तो शायद ओपनजीएल के बारे में एक बात नहीं पता।
दूसरी ओर, ओपन बहुत अच्छी तरह से कई मामलों में बेहतर हो सकता है। परतों संयोजन या का समायोजन रंग/संतृप्ति/चमक/एक GLSL शेडर में विपरीत परिमाण के कई आदेशों तेजी से (वास्तव में, काफी "तुरन्त") हो सकता है अगर वहाँ कंप्यूटर में एक यथोचित नया कार्ड है। एक "अस्पष्ट" कलम के साथ एक फ्रीड्रा पथ को स्ट्रोक करना (यानी अल्फा पारदर्शिता के साथ एक स्प्राइट मिश्रण करना) तेजी से परिमाण के आदेश होंगे। कुछ हद तक उचित आयाम वाली छवियों पर, अधिकांश फ़िल्टर कर्नेल रीयलटाइम के करीब चलना चाहिए। हार्डवेयर में bilinear फ़िल्टरिंग के साथ Rescaling।
इस तरह की बातें एक 512x512 छवि पर कोई फर्क नहीं, के रूप में काफी सब कुछ इस तरह के प्रस्तावों पर तात्कालिक है, लेकिन अपने डिजिटल कैमरे से एक ठेठ 4096x3072 (या बड़ी) छवि पर, यह बहुत ध्यान देने योग्य हो सकता है, खासकर यदि आप है 4-6 परतें
- 1. ग्राफिक्स 2 डी संदर्भ
- 2. जावा 2 डी: ग्राफिक्स 2 डी
- 3. ग्राफिक्स 2 डी
- 4. जावा: ग्राफिक्स या ग्राफिक्स 2 डी?
- 5. जावा ग्राफिक्स 2 डी
- 6. सरल 2 डी ग्राफिक्स प्रोग्रामिंग
- 7. सी # 2 डी वेक्टर ग्राफिक्स गेम डायरेक्टएक्स या ओपनजीएल का उपयोग कर?
- 8. हमें FSharpFunc.Adapt का उपयोग कब करना चाहिए?
- 9. जावा 2 डी गेम ग्राफिक्स
- 10. ओपनजीएल 2 डी आयताकार क्षेत्र क्लिपिंग
- 11. हमें कक्षा का उपयोग कब करना चाहिए और जब हमें
- 12. 2 डी एपीआई या ओपनजीएल ईएस?
- 13. ओपनजीएल 2 डी उदाहरण खेल
- 14. ओपनजीएल ईएस के लिए 2 डी ओपनजीएल ऐप को फिर से लिखने के लिए कैसे?
- 15. क्या हमें यूनिटटेस्ट असेंबली पर FxCop का उपयोग करना चाहिए?
- 16. ओपनजीएल- सरल 2 डी क्लिपिंग/ऑक्लूजन विधि?
- 17. जब, यदि कभी, क्या हमें कॉन्स का उपयोग करना चाहिए?
- 18. क्या हमें <base href = "" /> का उपयोग करना चाहिए?
- 19. क्या हमें उपयोगकर्ता कहानियों में व्यक्तित्व का उपयोग करना चाहिए?
- 20. क्या 3 डी मॉनीटर के लिए ओपनजीएल प्रतिपादन का उपयोग किया जा सकता है?
- 21. क्या हमें सीधे स्कैलासिग्नेचर का उपयोग करना चाहिए?
- 22. एसपीएल बनाम ऐरे: हमें एसपीएल का उपयोग कब करना चाहिए और हमें PHP में ऐरे का उपयोग कब करना चाहिए?
- 23. क्या प्रोटोटाइप का उपयोग करना उचित है या क्या हमें जावास्क्रिप्ट के लिए ओओपी का उपयोग करना चाहिए?
- 24. स्कैला - स्क्रीन पर 2 डी सरणी लिखने के लिए सबसे आसान 2 डी ग्राफिक्स?
- 25. क्या हमें साइन अप के लिए कैप्चा का उपयोग करना चाहिए?
- 26. ओपनजीएल में वेक्टर ग्राफिक्स प्रस्तुत करना?
- 27. हमें निजी या संरक्षित का उपयोग कब करना चाहिए?
- 28. क्या हमें यूनिट परीक्षण लॉगिंग करना चाहिए?
- 29. क्या हमें बिज़टॉक/ईएसबी पेश करना चाहिए?
- 30. ओपनजीएल बनाम कोकोस 2 डी: क्या चुनना है?
"जो अपने वर्तमान कार्यान्वयन में ओपन के शीर्ष पर बैठता है, लेकिन देशी GPU आ सकता है पर सीधे ऑपरेटिंग कार्यान्वयन" -> क्या आपको लगता है कि द्वारा मतलब है? – Calvin1602
@ कैल्विन 1602: अब तक मौजूदा ओपनसीवी कार्यान्वयन ओपनजीएल का बैकएंड के रूप में उपयोग करते हैं। हालांकि जीपीयू विक्रेता अनुकूलित ओपनसीवी ड्राइवरों को लागू करने का निर्णय ले सकते हैं जो सीधे मध्यस्थ ओपनजीएल परत के बिना जीपीयू तक पहुंच सकते हैं। वेक्टर ग्राफिक्स के कुछ पहलुओं को ओपनजीएल के संदर्भ में व्यक्त करना मुश्किल होता है, इसलिए अधिक प्रत्यक्ष दृष्टिकोण को आकांक्षा दी जानी चाहिए। – datenwolf
क्या आप अपने उत्तर में ओपनसीवी, ओपनवीजी, और शायद ओपनसीएल मिश्रण नहीं कर रहे हैं? मैं काफी आप का पालन नहीं करता हूँ। – Calvin1602