এই টিউটোরিয়ালটি থেকে
আমি আজই ওপেনজিএল শিখতে শুরু করছি: http://openglbook.com/the-book/
আমি দ্বিতীয় অধ্যায়টি পেয়েছি, যেখানে আমি একটি ত্রিভুজ আঁকছি এবং আমি ভিএওগুলি বাদে সব কিছুই বুঝতে পারি (এটি কি সংক্ষিপ্ত রূপ ঠিক আছে?)। টিউটোরিয়ালের এই কোডটি রয়েছে:
glGenVertexArrays(1, &VaoId);
glBindVertexArray(VaoId);
কোডটি প্রয়োজনীয় বলে আমি বুঝতে পেরেছি, এটি কী করে তা আমার কোনও ধারণা নেই। যদিও আমি এই পয়েন্টটি আগে কখনও ভিওআইডি ব্যবহার করি না (এটি বিনষ্ট করা ব্যতীত), কোডটি এটি ছাড়া কার্যকর হয় না। আমি ধরে নিচ্ছি এটি কারণ এটি আবদ্ধ হওয়া প্রয়োজন, তবে কেন জানি না। এই সঠিক কোডটি কি প্রতিটি ওপেনএল প্রোগ্রামের অংশ হওয়া দরকার? টিউটোরিয়ালটি ভিএওদের ব্যাখ্যা করে:
একটি ভার্টেক্স অ্যারে অবজেক্ট (বা ভিএও) এমন একটি বস্তু যা বর্ণনা করে যে কীভাবে ভার্টেক্স অ্যাট্রিবিউটগুলি ভার্টেক্স বাফার অবজেক্টে (বা ভিবিও) সংরক্ষণ করা হয়। এর অর্থ হ'ল ভিএও হ'ল ভার্টেক্স তথ্য সংরক্ষণের প্রকৃত অবজেক্ট নয়, তবে ভারটিেক্সের ডেটা বর্ণনাকারী। ভার্টেক্স অ্যাট্রিবিউটগুলি glVertexAtribPointer ফাংশন এবং এর দুটি বোন ফাংশন glVertexAttribIPointer এবং glVertexAttribLPointer দ্বারা বর্ণনা করা যেতে পারে, যার মধ্যে প্রথমটি আমরা নীচে অনুসন্ধান করব।
আমি বুঝতে পারছি না ভিএও কীভাবে ভার্টেক্স গুণাবলী বর্ণনা করে। আমি সেগুলি কোনওভাবেই বর্ণনা করি নি। এটি কি glVertexAttribPointer থেকে তথ্য পায়? আমার ধারণা এটি অবশ্যই হবে be ভিএও কি কেবল গ্লোভার্টেক্স অ্যাট্রিবিপয়েন্টার থেকে প্রাপ্ত তথ্যের গন্তব্য?
পাশের নোটে, আমি যে টিউটোরিয়ালটি অনুসরণ করছি তা কি গ্রহণযোগ্য? আমার দেখার মতো কিছু আছে বা আরও ভাল টিউটোরিয়াল অনুসরণ করতে হবে?