আমি ভাবছিলাম যে কোনও ওপেনজিএল ভিএওতে কী স্টোর স্টোর করা আছে। আমি বুঝতে পেরেছি যে কোনও ভিএওতে বাফার শীর্ষকোষের ভারটেক্স স্পেসিফিকেশনের সাথে সম্পর্কিত একটি রাষ্ট্র রয়েছে (বাফারগুলিতে কী কী বৈশিষ্ট্য রয়েছে এবং কোন বাফার আবদ্ধ থাকে, ...)। ভিএও'র সঠিক ব্যবহারটি আরও ভালভাবে বুঝতে, আমি জানতে পারি যে তারা ঠিক কী অবস্থায় আছে।
আমি কীভাবে ভিএও'র ব্যবহার করা উচিত তা অনুমান করি
সহজ উদাহরণ থেকে আমি বুঝতে পেরেছি যে ভিএওর সঠিক ব্যবহার নীচে রয়েছে:
সেটআপ
Generate VAO
BindVAO
---- Specify vertex attributes
---- Generate VBO's
---- BindVBO's
-------- Buffer vertex data in VBO's
---- Unbind VBO's
Unbind VAO
অনুবাদ
Bind VAO
---- Draw
Unbind VAO
এ থেকে, আমি ধরে নিয়েছি যে কমপক্ষে ভার্টেক্স বাফার বাইন্ডিংগুলি এবং ভার্টেক্স অ্যাট্রিবিউট স্পেসিফিকেশনগুলি ভিএওতে সঞ্চিত রয়েছে। আমি নিশ্চিত না যে কীভাবে এই ব্যবহারের ধরণটি (একাধিক) টেক্সচার এবং (একাধিক) শেডার প্রোগ্রামগুলি কার্যকর হয় সেই পরিস্থিতিতে প্রসারিত। সক্রিয় শ্যাডার প্রোগ্রামটি কি ভিএওতে সঞ্চিত আছে? এবং টেক্সচার বাইন্ডিংগুলি (তাদের নমুনা / মোড়কের সেটিংস সহ ) ভিএওতেও সংরক্ষণ করা আছে? ইউনিফর্মের জন্য ডিট্টো ?
অতএব, আমার প্রশ্নগুলি হ'ল:
- কোন ওপেনজিএল ভিএওতে সঠিক রাজ্যটি সংরক্ষণ করা হয় ? (ভিবিও বাইন্ডিং, অ্যাট্রিবিউট স্পেসিফিকেশনস, অ্যাক্টিভ শেডার প্রোগ্রাম, টেক্সচার বাইন্ডিংস, টেক্সচার স্যাম্পলিং / মোড়ানো সেটিংস, ইউনিফর্ম ...?)
- আমি কীভাবে আরও জটিল রেন্ডারিং সেটআপে ভিএওসকে সঠিকভাবে ব্যবহার করব যেখানে সম্পর্কিত স্যাম্পলিং / মোড়ানো সেটিংস, (একাধিক) শেডার প্রোগ্রাম এবং ইউনিফর্মগুলির সাথে জড়িত (একাধিক) টেক্সচারগুলি অন্তর্ভুক্ত রয়েছে?