मैं ओपनजीएल (ओपनटीके के माध्यम से सी # के माध्यम से) का उपयोग करके थोड़ा ग्राफिक्स इंजन लिख रहा हूं।ओपनजीएल, वीएओ और एकाधिक बफर
वर्टेक्स विशेषताओं को परिभाषित करने के लिए, मेरे पास VertexDeclaration क्लास है जो VertexElement संरचनाओं की एक सरणी है जो glEnableVertexAttribArray/glVertexAttribPointer कॉल पर मैप किए गए हैं।
इसके अलावा, एकाधिक वर्टेक्स धाराओं का समर्थन करने के लिए, मेरे पास एक विशेष संरचना है जिसमें वर्टेक्स बफर, वर्टेक्स घोषणा, वर्टेक्स ऑफ़सेट और आवृत्ति आवृत्ति (जैसे एक्सएनए की वर्टेक्सबफर बाइंडिंग संरचना) है।
वर्तमान में, जब भी एक ड्राइंग कॉल लागू किया जाता है, तो मैं सभी सेट वर्टेक्स धाराओं और पर अपने चरम बफर को बांधता हूं, वर्टेक्स घोषणाएं लागू करता हूं, अप्रयुक्त वर्टेक्स विशेषताओं को अक्षम करता हूं और प्राइमेटिव को आकर्षित करता हूं।
मैं glAnableVertexAttribArray कॉल को कैश करने के लिए वीएओ का उपयोग करना चाहता हूं, और जब भी एक कशेरुक धारा लागू होती है, तो वीएओ को बांधें और इसके सरणी बफर बाध्यकारी को बदलें।
क्या यह वीएओ का सही उपयोग है?
इस महान उत्तर के लिए धन्यवाद।फिर 'glBufferData' कदम कहां कार्रवाई में आता है? 'GlvertexAttribPointer' का उपयोग करने से पहले आपको डेटा को पहले बफर नहीं करना है? क्षमा करें मैं ओपनजीएल के लिए बहुत नया हूँ –