इस प्रोजेक्ट के बारे में

## अवलोकन यह KTX (Khronos Texture) के लिए आधिकारिक Khronos रिपॉज़िटरी है, जो OpenGL, Vulkan और अन्य GPU API के साथ उपयोग होने वाले टेक्सचर के लिए एक हल्का कंटेनर फ़ॉर्मैट है। एक KTX फ़ाइल टेक्सचर लोड करने के लिए आवश्यक सभी पैरामीटर संग्रहीत करती है, और एक ही फ़ाइल में साधारण बेस-लेवल 2D टेक्सचर से लेकर मिपमैप्स सहित क्यूबमैप ऐरे टेक्सचर तक कुछ भी रखा जा सकता है। ## सॉफ़्टवेयर में क्या शामिल है - **libktx** — KTX फ़ाइलें पढ़ने और लिखने तथा उनसे OpenGL, OpenGL ES और Vulkan टेक्सचर बनाने के लिए एक छोटी C लाइब्रेरी। - **libktx.js / libktx.wasm** — JavaScript रैपर सहित libktx का WebAssembly बिल्ड। - **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 API तथा एक्सटेंशन द्वारा समर्थित ब्लॉक-कम्प्रेस्ड फ़ॉर्मैट में, या अकम्प्रेस्ड सिंगल-प्लेन फ़ॉर्मैट में हो सकते हैं। 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 सबमॉड्यूल के रूप में शामिल है और लाइब्रेरी या टूल बनाने के लिए डिफ़ॉल्ट रूप से आवश्यक नहीं है। कुछ फ़ाइलें smudge/clean फ़िल्टर के माध्यम से `$Date$` कीवर्ड एक्सपैंशन का उपयोग करती हैं, जो Unix-जैसे शेल और Windows PowerShell के लिए install-gitconfig स्क्रिप्ट और smudge_date स्क्रिप्ट के ज़रिए कॉन्फ़िगर होती हैं। सहायक स्क्रिप्ट में `scripts/gk` शामिल है, जो build डायरेक्टरी, .git, external और tests/cts को छोड़कर स्रोत में खोज करता है, और `scripts/ktx-compare-git`, एक रैपर जो KTX2 फ़ाइलों के लिए `ktx compare` को git diff ड्राइवर के रूप में सक्षम बनाता है। सहायता GitHub Discussions के माध्यम से दी जाती है, और समस्याएँ GitHub issues के ज़रिए रिपोर्ट की जाती हैं। योगदान, लाइसेंसिंग और बिल्डिंग की जानकारी CONTRIBUTING, LICENSE और BUILDING फ़ाइलों में दस्तावेज़ित है।