ওপেনজিএল এর মধ্যে ইতিমধ্যে কিছু 'অবজেক্ট' ধারণা রয়েছে।
উদাহরণস্বরূপ, আইডি সহ যে কোনও কিছুই কোনও বস্তু হিসাবে হতে পারে (এছাড়াও 'অবজেক্টস' নামে বিশেষত কিছু জিনিস রয়েছে)। বাফারস, টেক্সচার, ভার্টেক্স বাফার অবজেক্টস, ভার্টেক্স অ্যারে অবজেক্টস, ফ্রেম বাফার অবজেক্টস এবং আরও অনেক কিছু। একটি সামান্য কাজ দিয়ে আপনি তাদের চারপাশে ক্লাস মোড়ানো করতে পারেন। যদি আপনার প্রসঙ্গটি এক্সটেনশানগুলি সমর্থন না করে তবে আপনাকে পুরানো অবহেলিত ওপেনজিএল ফাংশনে ফিরে যাওয়ার সহজ উপায়ও দেয়। উদাহরণস্বরূপ, একটি ভার্টেক্সবফারঅবজেক্ট glBegin (), glVertex3f () ইত্যাদি ব্যবহার করে ফিরে যেতে পারে।
প্রচলিত ওপেনজিএল ধারণাগুলি থেকে দূরে সরে যেতে আপনার কয়েকটি উপায় থাকতে পারে, উদাহরণস্বরূপ আপনি সম্ভবত বাফার অবজেক্টে বাফার সম্পর্কে মেটাডেটা সঞ্চয় করতে চান। উদাহরণস্বরূপ, যদি বাফারটি উল্লম্বভাবে সঞ্চয় করে। উল্লম্বের বিন্যাস কী (যেমন পজিশন, নরমালস, টেক্সকর্ডস ইত্যাদি)। এটি কী আদিম ব্যবহার করে (GL_TRIANGLES, GL_TRIANGLESTRIP, ইত্যাদি ...), আকারের তথ্য (কতগুলি ফ্লোট সঞ্চিত থাকে, তারা কতটি ত্রিভুজ উপস্থাপন করে ইত্যাদি ...)। এগুলিকে আঁকার অ্যারে কমান্ডগুলিতে প্লাগ করা সহজ করার জন্য।
আমি আপনাকে ওজিএলপ্লাস দিকে তাকানোর পরামর্শ দিই । এটি ওপেনজিএলের জন্য সি ++ বাইন্ডিং।
এছাড়াও গ্লাকএক্স , এটি কেবল এক্সটেনশন লোডিংয়ের জন্য।
ওপেনজিএল এপিআই মোড়ানো ছাড়াও, আপনি এটির উপরে কিছুটা উচ্চ স্তরের একটি বিল্ডিং করা উচিত।
উদাহরণস্বরূপ একটি উপাদান ম্যানেজার বর্গ যা আপনার সমস্ত শেডারগুলির জন্য দায়বদ্ধ, লোড করা এবং সেগুলি ব্যবহার করে। এছাড়াও এটি তাদের কাছে সম্পত্তি স্থানান্তর করার জন্য দায়বদ্ধ হবে। এইভাবে আপনি কেবল কল করতে পারেন: উপকরণ.উসফং (); material.setTexture (sometexture); material.setColor ()। এটি আরও নমনীয়তার সুযোগ দেয় যেহেতু আপনি ভাগ করা ইউনিফর্ম বাফার অবজেক্টের মতো নতুন জিনিসগুলি ব্যবহার করতে পারবেন কেবল 1 টি বড় বাফার যা আপনার শেডারদের 1 টি ব্লকে ব্যবহার করে এমন সমস্ত বৈশিষ্ট্য রয়েছে তবে যদি এটি আপনাকে সমর্থন না করে তবে প্রতিটি শ্যাডার প্রোগ্রামে আপলোড করতে পিছিয়ে যায়। যদি আপনার সমর্থিত হয় তবে অভিন্ন রুটিন ব্যবহার করে বিভিন্ন শেডার মডেলগুলির মধ্যে আপনার জন্য 1 টি বড় একশব্দ শেডার এবং অদলবদ থাকতে পারে বা আপনি বিভিন্ন ছোট ছোট শেডার ব্যবহার করে ফিরে যেতে পারেন।
আপনার শেডার কোডটি লেখার জন্য আপনি জিএলএসএল স্পেস থেকে ব্যয় করতেও দেখতে পারেন। উদাহরণস্বরূপ # অন্তর্ভুক্তিটি আপনার শেডার লোডিং কোডে অবিশ্বাস্যরূপে কার্যকর এবং কার্যকর করা খুব সহজ হবে (এর জন্য একটি এআরবি এক্সটেনশনও রয়েছে )। কী কী এক্সটেনশানগুলি সমর্থিত তার উপর ভিত্তি করে আপনি ফ্লাইতে আপনার কোডও তৈরি করতে পারেন, উদাহরণস্বরূপ একটি ভাগ করা ইউনিফর্ম অবজেক্ট ব্যবহার করুন বা সাধারণ ইউনিফর্ম ব্যবহারে ফিরে যান।
অবশেষে আপনি একটি উচ্চ স্তরের রেন্ডারিং পাইপলাইন এপিআই চাইবেন যা দৃশ্যের গ্রাফ, বিশেষ প্রভাব (অস্পষ্টতা, আভা), ছায়া, আলো এবং এর মতো একাধিক রেন্ডারিং পাসগুলির মতো জিনিসগুলি করে does এবং তারপরে একটি গেমের এপিআই এর গ্রাফিক্স এপিআইয়ের সাথে কিছুই করার নেই তবে কেবল একটি বিশ্বের আইটেমগুলির সাথে ডিল করে।