منصوبے کے بارے میں

## جائزہ یہ KTX (Khronos Texture) کے لیے Khronos کا سرکاری ریپوزٹری ہے، جو OpenGL، Vulkan اور دیگر GPU APIs کے ساتھ استعمال ہونے والے ٹیکسچرز کے لیے ایک ہلکا پھلکا کنٹینر فارمیٹ ہے۔ ایک KTX فائل ٹیکسچر لوڈ کرنے کے لیے درکار تمام پیرامیٹرز محفوظ رکھتی ہے، اور ایک ہی فائل سادہ بیس لیول 2D ٹیکسچر سے لے کر mipmaps کے ساتھ cubemap array ٹیکسچر تک کچھ بھی رکھ سکتی ہے۔ ## سافٹ ویئر میں کیا شامل ہے - **libktx** — KTX فائلیں پڑھنے اور لکھنے اور ان سے OpenGL، OpenGL ES اور Vulkan ٹیکسچرز بنانے کے لیے ایک چھوٹی C لائبریری۔ - **libktx.js / libktx.wasm** — libktx کی WebAssembly بلڈ جس میں JavaScript ریپر شامل ہے۔ - **msc_basis_transcoder.js / .wasm** — Basis Universal فارمیٹس کے لیے WebAssembly ٹرانس کوڈر اور JavaScript ریپر، جو JavaScript میں لکھے گئے KTX پارسرز کے لیے ہے۔ - **libktx.jar اور libktx-jni** — Java ریپر اور نیٹو انٹرفیس لائبریری۔ - **pyktx** — Python ریپر۔ - **ktx** — KTX2 فائلوں کے انتظام کے لیے ایک عمومی کمانڈ لائن ٹول، جس کے ذیلی کمانڈز یہ ہیں: compare، convert، create، deflate، extract، encode، transcode، info، validate اور help۔ ## ٹیکسچر فارمیٹس شامل کردہ ٹیکسچرز Basis Universal فارمیٹ میں، OpenGL فیملی اور Vulkan APIs اور ایکسٹینشنز کی معاونت یافتہ بلاک کمپریسڈ فارمیٹس میں، یا غیر کمپریسڈ سنگل پلین فارمیٹ میں ہو سکتے ہیں۔ Basis Universal فی الحال LZ/ETC1S (بلاک کمپریشن کے ساتھ سپر کمپریشن) اور UASTC (ایک بلاک کمپریسڈ فارمیٹ) کا احاطہ کرتا ہے۔ LZ/ETC1S کے علاوہ دیگر فارمیٹس Zstd اور ZLIB کے ساتھ سپر کمپریس کیے جا سکتے ہیں۔ ## تقسیم اور دستاویزات ٹولز، لائبریری اور ڈیولپمنٹ ہیڈرز کے بائنری پیکجز پروجیکٹ کے Releases صفحے پر شائع کیے جاتے ہیں، جہاں JavaScript ریپرز اور .wasm بائنریز پر مشتمل پیکجز بھی دستیاب ہوتے ہیں۔ API اور ٹول کے استعمال کی Doxygen سے تیار کردہ دستاویزات آن لائن دستیاب ہیں۔ ڈیسک ٹاپ ریلیز انسٹالرز میں متعدد اجزاء شامل ہوتے ہیں؛ بطور ڈیفالٹ صرف ktx ٹول اور رن ٹائم libktx انسٹال ہوتے ہیں، اور دیگر اجزاء جیسے Development headers اور Java Wrapper انسٹالر کے Customize آپشن کے ذریعے منتخب کیے جا سکتے ہیں۔ ## ریپوزٹری نوٹس کلون کرنے کے بعد ریپوزٹری کو مکمل طور پر چیک آؤٹ کرنے کے لیے Git LFS (ورژن 1.1 یا بعد کا) انسٹال ہونا ضروری ہے؛ اگر پہلے چیک آؤٹ کے وقت یہ موجود نہ تھا تو بعد میں `git lfs checkout` چلائیں۔ ktx کمانڈ لائن ٹول کے کنفارمنس ٹیسٹس ایک الگ KTX-Software-CTS ریپوزٹری میں رہتے ہیں، جو ایک git submodule کے طور پر شامل ہے اور لائبریریوں یا ٹولز کی بلڈنگ کے لیے بطور ڈیفالٹ ضروری نہیں۔ کچھ فائلیں smudge/clean فلٹرز کے ذریعے `$Date$` کی ورڈ ایکسپینشن استعمال کرتی ہیں، جو Unix نما شیلز اور Windows PowerShell کے لیے install-gitconfig اسکرپٹس اور smudge_date اسکرپٹس کے ذریعے کنفیگر کی جاتی ہیں۔ مددگار اسکرپٹس میں `scripts/gk` شامل ہے جو بلڈ ڈائریکٹریز، .git، external اور tests/cts کو چھوڑ کر سورس میں تلاش کرتا ہے، اور `scripts/ktx-compare-git`، ایک ریپر جو KTX2 فائلوں کے لیے `ktx compare` کو git diff ڈرائیور کے طور پر فعال کرتا ہے۔ معاونت GitHub Discussions کے ذریعے کی جاتی ہے، اور مسائل GitHub issues کے ذریعے رپورٹ کیے جاتے ہیں۔ تعاون، لائسنسنگ اور بلڈنگ کی معلومات CONTRIBUTING، LICENSE اور BUILDING فائلوں میں دستاویزی ہیں۔