Godot দুটি রেন্ডারিং ইঞ্জিন সমর্থন করে: GLES2 এবং GLES3। আপনি যখন আপনার প্রকল্প শুরু করবেন তখন আপনার GLES2 বা GLES3 এর মধ্যে বেছে নেওয়া উচিত এবং সম্ভব হলে পরিবর্তন করা এড়ানো উচিত। প্রজেক্টগুলি এই দুটি রেন্ডারিং ইঞ্জিনের মধ্যে সামনে পিছনে সুইচ করতে পারে, কিন্তু স্যুইচ করার জন্য অতিরিক্ত মাইগ্রেশন কাজ প্রয়োজন।
অ্যান্ড্রয়েডে, এই রেন্ডারারগুলি যথাক্রমে OpenGL ES 2.0 এবং OpenGL ES 3.0 API ব্যবহার করে৷ GLES3 রেন্ডারারের আরও পরিশীলিত ক্ষমতা এবং বৈশিষ্ট্য রয়েছে, যখন GLES2 রেন্ডারার আরও Android ডিভাইসের সাথে সামঞ্জস্যপূর্ণ। রেন্ডারাররা অভিন্ন ইনপুট দৃশ্য ডেটার জন্য সামান্য ভিন্ন ভিজ্যুয়াল আউটপুটও তৈরি করে। এই বৈষম্যটি GLES2 রেন্ডারার একটি sRGB রঙের স্থান ব্যবহার করে যখন GLES3 রেন্ডারার একটি রৈখিক রঙের স্থান ব্যবহার করে।
একটি রেন্ডারার নির্বাচন করা হচ্ছে
GLES2
GLES2 রেন্ডারার 2D বা 3D প্রজেক্টের জন্য শালীন গ্রাফিক প্রয়োজনীয়তার জন্য সবচেয়ে উপযুক্ত, এবং কার্যত সমস্ত সক্রিয় Android ডিভাইসের সাথে সামঞ্জস্যপূর্ণ। যদি আপনার প্রকল্পটি পুরানো ডিভাইসগুলিতে ভালভাবে চালানোর জন্য ডিজাইন করা হয় এবং আপনি তাদের সমর্থন করতে চান, GLES2 সেরা পছন্দ হতে পারে।
অ্যান্ড্রয়েডে GLES2 রেন্ডারারের একটি গুরুত্বপূর্ণ সীমাবদ্ধতা হল শুধুমাত্র একটি সংকুচিত টেক্সচার ফর্ম্যাট সমর্থিত: ETC1। ETC1 একটি আলফা চ্যানেল সমর্থন করে না। অন্যান্য ইঞ্জিনগুলি দ্বৈত ETC1 টেক্সচার ব্যবহার করতে পারে একটি সমাধান হিসাবে, একটি টেক্সচারে রঙের ডেটা এবং দ্বিতীয় টেক্সচারে আলফা চ্যানেল ডেটা রয়েছে। গডট এটা করে না। অ্যানড্রয়েডে GLES2 রেন্ডারার ব্যবহার করে প্রজেক্টগুলিকে আলফা চ্যানেল অন্তর্ভুক্ত করার সময় কম্প্রেসড টেক্সচার ব্যবহার করতে হবে। কম্প্রেসড টেক্সচার উল্লেখযোগ্যভাবে বেশি মেমরি ব্যবহার করে এবং কম্প্রেসড টেক্সচারের মতো কাজ করে না। বিশেষ করে সীমিত সংস্থান সহ পুরানো ডিভাইসগুলিতে মেমরির সীমার মধ্যে চলা সহ বড় অসঙ্কোচিত টেক্সচার ব্যবহার করার সময় সমস্যা হতে পারে।
GLES2 রেন্ডারারের কাছে উন্নত রেন্ডারিং বৈশিষ্ট্যগুলি উপলব্ধ নাও হতে পারে৷ GLES2 রেন্ডারারের সীমাবদ্ধতা অন্তর্ভুক্ত কিন্তু সীমাবদ্ধ নয়:
- সক্রিয় রিয়েল-টাইম আলো প্রতি দুর্বল কর্মক্ষমতা স্কেলিং।
- রেন্ডারিং বৈশিষ্ট্যগুলির জন্য সমর্থনের অভাব যেমন হাই-ডেফিনিশন পরিসীমা, প্রতিসরণ বৈশিষ্ট্য, স্ক্রীন স্পেস প্রতিফলন, বা স্ক্রীন স্পেস অ্যাম্বিয়েন্ট অক্লুশন।
- shader জটিলতা উপর সীমাবদ্ধতা.
- রিয়েল-টাইম গ্লোবাল আলোকসজ্জা সমর্থনের অভাব।
- কণার জন্য GPU ত্বরণ সমর্থনের অভাব।
GLES3
GLES3 রেন্ডারারটি প্রায় 90% সক্রিয় অ্যান্ড্রয়েড ডিভাইসগুলির সাথে সামঞ্জস্যপূর্ণ যেগুলির OpenGL ES 3.0 সমর্থন রয়েছে৷ শুধুমাত্র প্রাচীনতম সক্রিয় অ্যান্ড্রয়েড ডিভাইসে OpenGL ES 3.0 সমর্থন নেই।
যদিও GLES3 রেন্ডারার যেকোনো OpenGL ES 3.0 ডিভাইসের সাথে সামঞ্জস্যপূর্ণ, সচেতন থাকুন যে পুরানো ডিভাইসগুলি গ্রহণযোগ্য ফ্রেম হারে চালানোর সম্ভাবনা কম। কিছু পুরানো ডিভাইসে তাদের OpenGL ES 3.0 বাস্তবায়নে গ্রাফিক ড্রাইভার বাগ রয়েছে। অ্যান্ড্রয়েডে GLES3 রেন্ডারারের ড্রাইভার বাগগুলির জন্য সীমিত প্রশমন রয়েছে৷ নতুন ডিভাইসগুলিতে এই সমস্যাগুলি কম উদ্বেগের বিষয়।
GLES3 রেন্ডারার Android-এ ETC2 টেক্সচার কম্প্রেশন ফর্ম্যাট সমর্থন করে। ETC1 এর বিপরীতে, ETC2 একটি আলফা চ্যানেলের জন্য সমর্থন অন্তর্ভুক্ত করে।
আরও তথ্যের জন্য, Godot ডকুমেন্টেশন দেখুন - GLES2 এবং GLES3 এর মধ্যে পার্থক্য