जवाबों:
- संदर्भ के लिए Doom3 के qgl.h ।
ओपनजीएल एक छोटा सा एपीआई है। आपको अक्सर फ़ंक्शन पॉइंटर्स के साथ काम करना चाहिए क्योंकि मानक कार्यान्वयन नई कार्यक्षमता को याद कर रहा है या क्योंकि आप एक्सटेंशन के साथ काम करना चाहते हैं। उदाहरण के लिए, यदि आप कॉल करना चाहते हैं glCreateShader
, लेकिन आप जिस ओएस पर विकास कर रहे हैं, वह नए पर्याप्त GL हेडर के साथ जहाज नहीं करता है, तो आपको glGetProcAddress("CreateShader")
उपयोगकर्ता के ड्राइवर से फ़ंक्शन को लोड करने के लिए उपयोग करना होगा । और फिर आपको उस फंक्शन पॉइंटर को कहीं स्टोर करना होगा।
यहां तक कि अगर आपके विकास के वातावरण में एक विशेष कार्य है, तो उपयोगकर्ता की मशीनें नहीं हो सकती हैं। और फिर एक निश्चित फ़ंक्शन 2-3 रूपों (विक्रेता विस्तार, एआरबी एक्सटेंशन, कोर फ़ंक्शन) में आ सकता है और इसलिए आपको कई अलग-अलग नामों के तहत फ़ंक्शन की खोज करनी पड़ सकती है।
कई जीएल "लोडर" पुस्तकालय (जैसे जीएलईडब्ल्यू ) जीएल सम्मेलनों से चिपके रहने की कोशिश करते हैं। वे सामान्य- gl
उपसर्ग के साथ "नकली" फ़ंक्शन बनाते हैं और अपने कोड को जादुई रूप से किसी भी ओएस या ड्राइवर पर काम करने की कोशिश करते हैं जो आवश्यक सुविधाओं का समर्थन करता है। अनिवार्य रूप से, के बजाय glFoo
एक वास्तविक समारोह किया जा रहा है, यह सिर्फ एक वैश्विक समारोह सूचक और लोडर पुस्तकालय (प्रारंभ या पहले प्रयोग के दौरान) खोज है FooEXT
, FooARB
और Foo
जब तक यह एक कार्यान्वयन पाता है और उसके बाद प्रदान करती है वैश्विक सूचक है कि। क्लाइंट कोड ऐसा लगता है कि यह सिर्फ एक नियमित फ़ंक्शन कह रहा है, लेकिन यह जादुई तरीके से सभी आरंभिक के दौरान रनटाइम पर हल हो जाता है जो सभी अलग-अलग प्लेटफार्मों और ड्राइवरों से संबंधित है।
अन्य लाइब्रेरीज़ ने फ़ंक्शन को नामस्थान में रखा है या अन्यथा GL मानक से थोड़ा भिन्न होता है। आईडी के लिए अपने स्वयं लोडर ने लिखा है, क्योंकि या तो वे जो कि अस्तित्व में या पसंद नहीं आया - अधिक होने की संभावना - भूकंप किसी भी अन्य पुस्तकालय कि आईडी का इस्तेमाल किया जा सकता था पहले का है ( q
में qgl
भूकंप के लिए संभावना खड़ा, उपयोग करने के लिए पहली आईडी टेक खेल था जो जीएल)।
जीएल कल्पना एक संभावना होने के साथ लिखी गई है। कल्पना उपसर्गों के बिना लिखी जाती है ; यह ओपनजीएल का कार्यान्वयन है जो तय करता है कि किस उपसर्ग का उपयोग किया जाना है ( gl
सामान्य एक, निश्चित रूप से)। लोडर लाइब्रेरी जो कार्यस्थानों को नामस्थान में रखते हैं या अपने स्वयं के उपसर्गों का उपयोग करते हैं, पूरी तरह से मान्य हैं।
कयामत इंजन पर आधारित कयामत 3, कई प्लेटफार्मों पर जीएल की विषमताओं से निपटने और qgl
उपसर्ग का चयन करने के लिए लोडर लाइब्रेरी का उपयोग करने में पूरी तरह से विशिष्ट और उचित है ।
id
खराब लिखा है (आप पूरी तरह से पूंजीकरण के बारे में सही हैं), हालांकि en.wikipedia.org/wiki/Id_Tech अभी भी अंतरिक्ष में लिखा है, सभी स्रोतों में मुझे मिल सकता है।