जो मैं समझता हूं, क्योंकि विंडोज ने प्रत्यक्ष हार्डवेयर पहुंच की तरह डॉस की पेशकश नहीं की थी, डायरेक्ट एक्स बनाया गया था।
आप सही हैं कि विंडोज ने प्रत्यक्ष हार्डवेयर पहुंच की तरह डॉस की पेशकश नहीं की है। वास्तव में स्मृति सुरक्षा के साथ कोई ऑपरेटिंग सिस्टम नहीं करता है।
और हां, डायरेक्टएक्स को एपीआई को कुछ प्रकार के हार्डवेयर तक त्वरित पहुंच के लिए प्रदान करने के लिए बनाया गया था। डायरेक्टएक्स एपीआई त्वरित हार्डवेयर पहुंच के लिए, (एक और केवल) एक नहीं है।
इसका मतलब है कि डायरेक्ट एक्स प्रत्यक्ष (आईएसएच) हार्डवेयर पहुंच प्राप्त करने का एकमात्र निश्चित तरीका है। क्या मै गलत हु? क्योंकि कुछ भी नहीं और कोई भी त्वरित हार्डवेयर के उपयोग के लिए एक और ट्रैक को लागू करने से रोकता है
आप गलत हैं। हार्डवेयर तक पहुंच के लिए जिम्मेदार सॉफ़्टवेयर के टुकड़े ड्राइवर कहा जाता है। ड्राइवर्स निजीकृत मोड में चलते हैं, जिसका अर्थ है, पता स्थान सुरक्षा उन पर लागू नहीं होती है। ऐसा इसलिए है, क्योंकि ड्राइवर हार्डवेयर के साथ संवाद करने में सक्षम होना चाहिए।
ड्राइवर्स नियमित कार्यक्रमों के साथ संवाद करते हैं, तथाकथित उपयोगकर्ता स्पेस एपीआई के माध्यम से। एपीआई मानकीकृत किया जा सकता है, तो कड़ाई से निर्दिष्ट किया जा सकता है या वे पूरी तरह से propritary हो सकता है।
डायरेक्टएक्स एक निर्दिष्ट एपीआई है, विनिर्देश माइक्रोसॉफ्ट द्वारा लिखा गया था।
ओपनजीएल इसी तरह से एक एपीआई है, लेकिन एक इकाई द्वारा निर्दिष्ट होने के बजाय यह कई योगदानकर्ताओं के सहयोग में मानकीकृत कुछ रूप में है।
एक प्रोप्रायटरी एपीआई के लिए एक उदाहरण 3Dfx द्वारा ग्लाइड था, जो बड़े हिस्सों में ओपनजीएल द्वारा प्रेरित था। वास्तव में 3xfx/ग्लाइड सिस्टम पर काम करने के लिए हाफ-लाइफ 1 इंजन के लिए आवश्यक ओपनजीएल के सबसेट को कार्यान्वित करने के लिए "मिनीग्ल" नामक एक संगतता रैपर होता है।
जीपीयू विक्रेताओं के ड्राइवर डेवलपर्स एपीआई के विनिर्देशों का पालन करते हैं, डायरेक्टएक्स, ओपनजीएल या कुछ मालिकाना इंटरफ़ेस के लिए ड्राइवर लिखते हैं। उनमें से प्रत्येक एपीआई ड्राइवर को और इस प्रकार हार्डवेयर तक पहुंच प्रदान करता है। और एक ही संसाधन के लिए कई एपीआई हो सकते हैं। एक ड्राइवर डायरेक्टएक्स 3 डी, ओपनजीएल और समानांतर में जो कुछ भी लागू कर सकता है और उन्हें सभी को उपयोगकर्ता स्थान प्रदान कर सकता है।
तो नहीं, यदि GPU ड्राइवर के साथ शिपिंग हो तो OpenGL DirectX के शीर्ष पर नहीं बनाया गया है। डायरेक्टएक्स के शीर्ष पर बनाए गए ओपनजीएल-1.4 अनुकरण के साथ विंडोज विस्टा और ऊपर जहाज, लेकिन यह शेडर्स, वर्टेक्स बफर ऑब्जेक्ट्स और अन्य सभी सीटी और घंटी का समर्थन नहीं करता है। जैसे ही आप OpenGL समर्थन के साथ एक GPU ड्राइवर स्थापित करते हैं, यह ओपनजीएल-1.4 अनुकरण को वास्तविक स्तर के कार्यान्वयन के साथ पूरी तरह से बदल देता है।
पर किसी भी जटिलता के ओपनजीएल प्रोग्राम को आजमाएं और चलाएं बहुत ही जानकारीपूर्ण उत्तर के लिए धन्यवाद। – Ken
+1 अन्य के अलावा एक सटीक उत्तर प्रदान करने के लिए, जो कि गलत नहीं बल्कि अपूर्ण उत्तरों के अलावा है। –
एक तरफ के रूप में: minigl भूकंप 1 इंजन के लिए था, जो एचएल 1 का उपयोग किया गया ... – Goz