मैं OpenGL ES 2 के साथ कुछ परीक्षण कर रहा हूं और कुछ प्रश्न मिले हैं, मेरा वर्तमान कार्यक्रम इस प्रकार है:
Init
-------
-> create index buffer
-> fill index buffer glBufferData …
-> create vertex buffer
-> fill vertex buffer glBufferData …
Draw
-------
1. Apply vertex buffer
-> Bind VAO
-> bind vertex buffer
- enable attributs (glVertexPointer, …)
-> unbind vertex buffer
-> Unbind VAO
-> Bind VAO
3. Apply index buffer
4. Draw
समस्या
दिए गए कोड क्रैश, कुछ शोधों के बाद, मुझे समझ में आया है कि: मुझे अपने इंडेक्स बफर को इनिट पार्ट ("इंडेक्स बफर ग्लबफ़रडेटा भरने के बाद") या पहले "बिंद वीएओ" से पहले इसे अनबाइंड करने की आवश्यकता है।
मेरे प्रश्न हैं:
- क्या मैं अपने सूचकांक बफर को VAO (VAO स्टॉक इंडेक्स बफर?) में डाल सकता हूं?
- क्या मुझे प्रत्येक अपडेट (glBufferData) के बाद बफ़र्स को खोलना था?
मेरे आवेदन में मुझे कुछ बफ़र्स मिले हैं जो प्रत्येक फ्रेम पर अपडेट किए गए हैं (एक्ज़म्पल: पार्टिकल्स) इसलिए मुझे एक ओपनगेल स्टैक मिला है जैसे:
-> bind buffer 1
-> update buffer 1
-> close buffer 1
-> bind buffer 1
-> draw
पहली 3 लाइनें वर्टेक्स बफर को अपडेट करती हैं, दो अंतिम ड्रा ऑब्जेक्ट, जो कुछ इस तरह होना चाहिए:
-> bind buffer 1
-> update buffer 1
-> draw
धन्यवाद