OpenGL اور Vulkan کے لیے نئے رینڈرنگ انجن GTK میں شامل کیے گئے ہیں۔

GTK لائبریری کے ڈویلپرز نے اوپن جی ایل (GL 3.3+ اور GLES 3.0+) اور Vulkan گرافکس APIs کا استعمال کرتے ہوئے دو نئے رینڈرنگ انجن - "ngl" اور "vulkan" کی دستیابی کا اعلان کیا ہے۔ نئے انجن GTK 4.13.6 کی تجرباتی ریلیز میں شامل ہیں۔ تجرباتی GTK برانچ میں، ngl انجن اب بطور ڈیفالٹ استعمال ہوتا ہے، لیکن اگر اگلی مستحکم برانچ 4.14 میں اہم مسائل کی نشاندہی کی جاتی ہے، تو پرانا "gl" رینڈرنگ انجن واپس کر دیا جائے گا۔

نئے انجنوں کو ایک ہی کوڈ بیس سے متحد اور جمع کیا جاتا ہے۔ اتحاد کا خلاصہ یہ ہے کہ Vulkan API کو بنیاد کے طور پر استعمال کیا جاتا ہے، جس کے اوپر OpenGL اور Vulkan کے درمیان فرق کو مدنظر رکھتے ہوئے OpenGL کے لیے ایک الگ تجریدی سطح بنائی گئی ہے۔ اس نقطہ نظر نے منظر کے گراف، تبدیلیوں، کیشنگ ٹیکسچرز اور گلیفس کی پروسیسنگ کے لیے دونوں انجنوں میں مشترکہ انفراسٹرکچر کا استعمال ممکن بنایا۔ یونیفیکیشن نے دونوں انجنوں کے کوڈ بیس کی دیکھ بھال اور انہیں تازہ ترین رکھنے اور مطابقت پذیری کو بھی نمایاں طور پر آسان بنا دیا۔

پرانے gl انجن کے برعکس، جس نے ہر قسم کے رینڈر نوڈ کے لیے الگ سادہ شیڈر استعمال کیا اور آف اسکرین رینڈرنگ کے دوران وقتاً فوقتاً ڈیٹا کو دوبارہ ترتیب دیا، نئے انجن آف اسکرین رینڈرنگ کے بجائے ایک پیچیدہ شیڈر (ubershader) استعمال کرتے ہیں جو بفر سے ڈیٹا کی ترجمانی کرتا ہے۔ . اپنی موجودہ شکل میں، نیا نفاذ اب بھی اصلاح کی سطح کے لحاظ سے پرانے سے پیچھے ہے، کیونکہ موجودہ مرحلے میں بنیادی توجہ درست آپریشن اور دیکھ بھال کی آسانی پر ہے۔

نئی خصوصیات جو پرانے gl انجن میں غائب ہیں:

  • کونٹور ہموار کرنا - آپ کو عمدہ تفصیلات کو محفوظ رکھنے اور ہموار شکل حاصل کرنے کی اجازت دیتا ہے۔
    OpenGL اور Vulkan کے لیے نئے رینڈرنگ انجن GTK میں شامل کیے گئے ہیں۔
  • صوابدیدی گریڈیئنٹس کی تشکیل، جو کسی بھی تعداد میں رنگوں اور اینٹی ایلائزنگ کا استعمال کر سکتے ہیں (gl انجن میں صرف 6 اسٹاپ کلرز کے ساتھ لکیری، ریڈیل اور مخروطی میلان کی حمایت کی گئی تھی)۔
    OpenGL اور Vulkan کے لیے نئے رینڈرنگ انجن GTK میں شامل کیے گئے ہیں۔
  • فریکشنل پیمانہ، جو آپ کو غیر عددی پیمانے کی قدریں سیٹ کرنے کی اجازت دیتا ہے، مثال کے طور پر، 125x1200 کی ونڈو کے لیے 800% کا پیمانہ استعمال کرتے وقت، 1500x1000 کا بفر مختص کیا جائے گا، نہ کہ پرانے انجن کی طرح 2400x1600۔
  • متعدد GPUs استعمال کرنے اور انفرادی کارروائیوں کو دوسرے GPU پر آف لوڈ کرنے کے لیے DMA-BUF ٹیکنالوجی کے لیے سپورٹ۔
  • بہت سے رینڈرنگ نوڈس جن کو پرانے نفاذ میں دشواری تھی ان پر صحیح طریقے سے کارروائی کی جاتی ہے۔

نئے انجنوں کی حدود میں غیر عددی اقدار (فریکشنل پوزیشن) اور glshader نوڈس کے ذریعہ پوزیشننگ کے لئے تعاون کا فقدان شامل ہے، جو پرانے انجن کی خصوصیات سے بہت زیادہ جڑے ہوئے تھے، اور جن کے لئے سپورٹ شامل کرنے کے بعد مزید ضرورت نہیں تھی۔ ماسک (ماسک) کے ساتھ نوڈس اور شفافیت کے ساتھ بناوٹ۔ یہ بھی بتایا گیا ہے کہ ڈرائیوروں کے ساتھ کام کرنے کے طریقہ کار میں تبدیلی کی وجہ سے گرافکس ڈرائیوروں کے ساتھ ممکنہ مسائل پیدا ہونے کا امکان ہے۔

مستقبل میں، نئے یونیفائیڈ ماڈل کی بنیاد پر، ونڈوز میں میک او ایس اور ڈائریکٹ ایکس میں میٹل کا استعمال کرتے ہوئے رینڈرنگ انجنوں کی تخلیق کو خارج نہیں کیا گیا ہے، لیکن اس طرح کے انجنوں کی تخلیق شیڈرز کے لیے دوسری زبانوں کے استعمال سے پیچیدہ ہے ("ngl "اور"ولکان" انجن GLSL زبان استعمال کرتے ہیں، لہذا میٹل اور ڈائریکٹ کے لیے یا تو شیڈروں کو ڈپلیکیٹ کرنا پڑے گا یا SPIRV-Cross ٹول کٹ پر مبنی پرت کا استعمال کرنا پڑے گا)۔

مستقبل کے منصوبوں میں درست رنگ کے نظم و نسق کے لیے HDR سپورٹ اور ٹولز فراہم کرنا، GPU سائیڈ پر پاتھ رینڈرنگ کے لیے سپورٹ، گلیفس رینڈر کرنے کی صلاحیت، آف اسٹریم رینڈرنگ، اور پرانے اور کم طاقت والے آلات کے لیے کارکردگی کی اصلاح شامل ہیں۔ اپنی موجودہ شکل میں، "ولکن" انجن کی کارکردگی پرانے "gl" انجن کی کارکردگی کے قریب ہے۔ "ngl" انجن کارکردگی میں پرانے "gl" انجن سے کمتر ہے، لیکن دستیاب کارکردگی 60 یا 144 FPS پر رینڈرنگ کے لیے کافی ہے۔ توقع ہے کہ اصلاح کے بعد صورتحال بدل جائے گی۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں