मैं आज इस ट्यूटोरियल से ओपनजीएल सीखना शुरू कर रहा हूं: http://openglbook.com/the-book/
मुझे अध्याय 2 मिला, जहां मैं त्रिकोण खींचता हूं, और मैं वीएओ को छोड़कर सब कुछ समझता हूं (क्या यह संक्षिप्त नाम ठीक है?)। ट्यूटोरियल में यह कोड है:वेरटेक्स ऐरे ऑब्जेक्ट्स क्या हैं?
glGenVertexArrays(1, &VaoId);
glBindVertexArray(VaoId);
जबकि मैं समझता हूं कि कोड आवश्यक है, मुझे कोई संकेत नहीं है कि यह क्या करता है। हालांकि मैं इस बिंदु से पहले वाओआईडी का उपयोग नहीं करता (इसे नष्ट करने के अलावा), कोड इसके बिना काम नहीं करता है। मुझे लगता है कि ऐसा इसलिए है क्योंकि इसे बाध्य होना जरूरी है, लेकिन मुझे नहीं पता कि क्यों। क्या यह सटीक कोड सिर्फ हर ओपनजीएल कार्यक्रम का हिस्सा बनने की आवश्यकता है? ट्यूटोरियल के रूप में VAOs बताते हैं:
एक शीर्ष सरणी वस्तु (या VAO) एक वस्तु का वर्णन करता है कि कैसे शीर्ष गुण एक वर्टेक्स बफर वस्तु (या VBO) में जमा हो जाती है। इसका मतलब है कि VAO वास्तविक वस्तु शिखर डेटा भंडारण, लेकिन शिखर डेटा की वर्णनकर्ता नहीं है। Vertex विशेषताओं को glVertexAttribPointer फ़ंक्शन और इसकी दो बहन फ़ंक्शन glVertexAttribIPointer और glVertexAttribLPointer द्वारा वर्णित किया जा सकता है, जिसमें से पहला हम नीचे देखेंगे।
मुझे समझ में नहीं आता कि वीएओ वर्टेक्स विशेषताओं का वर्णन कैसे करता है। मैंने उन्हें किसी भी तरह से वर्णित नहीं किया है। क्या यह glVertexAttribPointer से जानकारी प्राप्त करता है? मुझे लगता है कि यह होना चाहिए। क्या वीएओ बस glvertexAttribPointer से जानकारी के लिए एक गंतव्य है?
एक तरफ ध्यान दें पर, ट्यूटोरियल मैं अनुसरण कर रहा हूं स्वीकार्य है? क्या मुझे कुछ भी देखना चाहिए या अनुसरण करने के लिए एक बेहतर ट्यूटोरियल है?
'' वेरटेक्स ऐरे ऑब्जेक्ट "आपको सिली नामों के लिए ओपनजीएल एआरबी उपसमिती द्वारा लाया गया है। ' हां, ** ऑब्जेक्ट ** के लिए यह मूर्खतापूर्ण नाम ** जो ** vertex ** ** सरणी ** बाइंडिंग स्टोर करता है। –
यदि मैं आपको सही ढंग से समझता हूं, तो 'glGenVertexArrays (1, और VaoId);' और 'glBindVertexArray (VaoId) को कॉल करना;' 'glEnableClientState' से आपको सहेजने के लिए सैन डिफ़ॉल्ट के साथ एक वीएओ बनाता है? या मैं पूरी तरह से आपको गलत समझ रहा हूँ? भविष्य में क्या मैं अधिकतर 'glEnableClientState' का उपयोग करूंगा? – Patrick
इसके अलावा, 'glVertexAttribPointer' – Patrick