LWJGL (https://www.lwjgl.org) هي مكتبة Java تتيح الوصول عبر الأنظمة الأساسية إلى واجهات برمجة التطبيقات الأصلية الشائعة المفيدة في تطوير تطبيقات الرسومات (OpenGL/Vulkan) والصوت (OpenAL) والحوسبة المتوازية (OpenCL). يعد هذا الوصول مباشرًا وعالي الأداء، ولكنه مغلف أيضًا بطبقة آمنة من النوع وسهلة الاستخدام، ومناسبة لنظام Java البيئي.
LWJGL هي تقنية تمكينية وتوفر وصولاً على مستوى منخفض. إنه ليس إطارًا ولا يوفر أدوات مساعدة ذات مستوى أعلى مما تعرضه المكتبات الأصلية. على هذا النحو، يتم تشجيع المبرمجين المبتدئين على تجربة أحد أطر العمل أو محركات الألعاب التي تستخدم LWJGL، قبل العمل مباشرة مع المكتبة.
LWJGL هو برنامج مفتوح المصدر ومتاح مجانًا بدون مقابل.
روابط مفيدة:
اتصال:
إذا كنت ترغب في المساهمة، راجع doc/README للحصول على نظرة عامة سريعة على بنية المشروع وتعليمات التثبيت وخيارات التكوين.
اعتبارًا من الإصدار 3.1.0
، تم توزيع LWJGL كمجموعة من الوحدات. مطلوب الوحدة الأساسية فقط وجميع الارتباطات اختيارية (ولكن بعض الارتباطات تعتمد على ارتباطات أخرى). أسهل طريقة لتنزيل LWJGL هي استخدام مكون الإنشاء الموجود على موقع الويب.
يقوم مكون البناء بإنشاء إعلانات Maven & Gradle التي يمكن إضافتها إلى المشاريع الحالية. هذه هي أسهل طريقة لاستخدام LWJGL أثناء التطوير.
يمكن أيضًا تنزيل LWJGL كمجموعة بسيطة من ملفات JAR. تتكون كل وحدة من الملفات التالية:
لتجميع تطبيق LWJGL وتشغيله، يجب إضافة ملفات JAR الأساسية والأصلية للوحدة الأساسية وكل ربط مستخدم إلى مسار الفصل. يقوم LWJGL باستخراج النسخ الأصلية إلى مجلد مؤقت وتحميلها تلقائيًا، لذلك لا يلزم إجراء أي تكوين آخر. إذا كانت هناك حاجة لمزيد من التخصيص (على سبيل المثال، عند إنشاء برنامج تثبيت خاص بالمنصة) فقد يتم استخراج النسخ الأصلية يدويًا وتحميلها عبر java.library.path
. راجع فئة التكوين لمزيد من الخيارات.
يتطلب LWJGL 3 وجود Java 8 أو إصدار أحدث للإنشاء والتشغيل ويدعم حاليًا الأنظمة الأساسية/البنيات التالية:
رمز المثال:
لترحيل كود LWJGL 2 إلى LWJGL 3، راجع دليل الترحيل.
تتم معالجة معظم المشكلات الشائعة التي يواجهها مستخدمو LWJGL بشكل بسيط من خلال ما يلي:
LWJGLX/debug هو وكيل Java الذي سيكتشف تلقائيًا الكثير من هذه المشكلات. ويمكنه أيضًا إنشاء سجل تتبع يكون مفيدًا عند الإبلاغ عن المشكلات إلى LWJGL.
عند طلب المساعدة أو عندما تشك في وجود خطأ في LWJGL، فإن إعداد MVCE (مثال الحد الأدنى، الكامل، والقابل للتحقق) الذي يعيد إنتاج المشكلة سيؤدي إلى تحسين فرص الاستجابة السريعة والمفيدة.
مكتبة | وصف |
---|---|
إي جي إل | واجهة بين واجهات برمجة التطبيقات التي تعرض Khronos مثل OpenGL ES أو OpenVG ونظام نافذة النظام الأساسي الأصلي. |
KTX (نسيج خرونوس) | حاوية خفيفة الوزن لأنسجة OpenGL® وVulkan® وواجهات برمجة تطبيقات GPU الأخرى. |
OpenCL | معيار مفتوح وخالي من حقوق الملكية للبرمجة المتوازية عبر الأنظمة الأساسية للمعالجات المتنوعة الموجودة في أجهزة الكمبيوتر الشخصية والخوادم والأجهزة المحمولة والأنظمة الأساسية المدمجة. |
برنامج OpenGL | واجهة برمجة تطبيقات الرسومات ثنائية وثلاثية الأبعاد الأكثر اعتماداً على نطاق واسع في الصناعة، حيث توفر آلاف التطبيقات لمجموعة واسعة من منصات الكمبيوتر. |
برنامج OpenGL ES | واجهة برمجة تطبيقات مجانية متعددة الأنظمة الأساسية للرسومات ثنائية وثلاثية الأبعاد كاملة الوظائف على الأنظمة المدمجة - بما في ذلك وحدات التحكم والهواتف والأجهزة والمركبات. |
أوبنXR | معيار مفتوح خالٍ من حقوق الملكية يوفر وصولاً عالي الأداء إلى منصات وأجهزة الواقع المعزز (AR) والواقع الافتراضي (VR) - المعروفين إجمالاً باسم XR -. |
فولكان | واجهة برمجة تطبيقات للرسومات والحوسبة من الجيل الجديد توفر وصولاً عالي الكفاءة عبر الأنظمة الأساسية إلى وحدات معالجة الرسومات الحديثة المستخدمة في مجموعة واسعة من الأجهزة بدءًا من أجهزة الكمبيوتر ووحدات التحكم وحتى الهواتف المحمولة والأنظمة الأساسية المدمجة. |
مكتبة | وصف |
---|---|
جلفو | قم بإنشاء نوافذ متعددة والتعامل مع إدخالات المستخدم (لوحة المفاتيح والماوس والأجهزة الطرفية للألعاب) وإدارة السياقات. ويتميز أيضًا بدعم الشاشات المتعددة، والوصول إلى الحافظة، وسحب وإسقاط الملفات، وغير ذلك الكثير. |
جوت | واجهة AWT الأصلية. |
تم توسيع مربع حوار الملف الأصلي | مكتبة C صغيرة تستدعي بشكل محمول فتح الملف الأصلي ومربعات حوار تحديد المجلد وحفظ الملف. |
com.tinyfd | مكتبة الحوار الأصلية. |
مكتبة | وصف |
---|---|
فمود | حل شامل لإضافة الصوت والموسيقى إلى أي لعبة. |
OpenAL | واجهة برمجة تطبيقات صوتية ثلاثية الأبعاد عبر الأنظمة الأساسية مناسبة للاستخدام مع تطبيقات الألعاب والعديد من الأنواع الأخرى من التطبيقات الصوتية. |
أوبينال سوفت | تطبيق برمجي مرخص من LGPL عبر الأنظمة الأساسية لواجهة برمجة التطبيقات الصوتية OpenAL 3D. |
التأليف | برنامج ترميز صوتي مفتوح تمامًا وخالي من حقوق الملكية ومتعدد الاستخدامات. |
مكتبة | وصف |
---|---|
عاصم | مكتبة محمولة مفتوحة المصدر لاستيراد العديد من تنسيقات النماذج ثلاثية الأبعاد المعروفة بطريقة موحدة. |
com.bgfx | منصة مشتركة، واجهة برمجة تطبيقات رسومية، مكتبة عرض نمط "إحضار المحرك/الإطار الخاص بك"، مرخصة بموجب ترخيص مفتوح المصدر يسمح بشرط BSD-2. |
نوع مجاني | مكتبة برامج متاحة مجانًا لتقديم الخطوط. |
هارفباز | مكتبة تشكيل النص التي تسمح للبرامج بتحويل تسلسل إدخال Unicode إلى مخرجات رسومية منسقة وموضعة بشكل صحيح - لأي نظام كتابة ولغة. |
com.meshoptimizer | مكتبة تحسين الشبكات التي تجعل الشبكات أصغر وأسرع في العرض. |
msdfgen | مولد مجال المسافة الموقعة متعدد القنوات. |
نانو إس في جي | محلل SVG غبي بسيط. |
نانو في جي | مكتبة عرض رسومات متجهة صغيرة مصقولة لـ OpenGL. |
النووية | مجموعة أدوات واجهة المستخدم الرسومية ذات الوضع الفوري البسيط المكتوبة بلغة ANSI C ومرخصة ضمن النطاق العام. |
par_octasphere | يُنشئ شبكات مثلثة للمجالات والصناديق المستديرة والكبسولات. |
par_shapes | توليد الأسطح البارامترية والأشكال البسيطة الأخرى. |
par_streamlines | مثلث الخطوط العريضة والمنحنيات. |
شاديرك | مجموعة من المكتبات لتجميع التظليل. |
SPIRV-Cross | مكتبة لأداء التفكير في SPIR-V وتفكيك SPIR-V مرة أخرى إلى اللغات عالية المستوى. |
برنامج OpenEXR الصغير | مكتبة صغيرة ذات رأس واحد فقط لتحميل وحفظ صور OpenEXR(.exr). |
توتل (أيه إم دي) | مكتبة تحسين الشبكة المثلثية ثلاثية الأبعاد التي تعمل على تحسين تقنيات المعالجة المسبقة للشبكة الموجودة. |
مخصص الذاكرة فولكان | وسيلة سهلة لدمج مكتبة تخصيص الذاكرة Vulkan. |
اليوغا | مكتبة تخطيط مفتوحة المصدر ومتعددة الأنظمة الأساسية تقوم بتنفيذ Flexbox. |
مكتبة | وصف |
---|---|
ليب أوفر | واجهة برمجة تطبيقات Oculus SDK. |
OpenVR | واجهة برمجة تطبيقات ووقت تشغيل يسمحان بالوصول إلى أجهزة الواقع الافتراضي من بائعين متعددين دون الحاجة إلى أن يكون لدى التطبيقات معرفة محددة بالأجهزة التي تستهدفها. |
مكتبة | وصف |
---|---|
stb_easy_font | خط نقطي سريع وسهل النشر لطباعة معدل الإطارات، وما إلى ذلك. |
stb_image | تحميل/فك تشفير الصور من الملف/الذاكرة: JPG، PNG، TGA، BMP، PSD، GIF، HDR، PIC |
stb_image_resize | تغيير حجم الصور إلى حجم أكبر/أصغر بجودة جيدة. |
stb_image_write | كتابة الصور على القرص: PNG، TGA، BMP |
stb_perlin | ضوضاء بيرلين المنقحة (إدخال ثلاثي الأبعاد، إخراج أحادي الأبعاد). |
stb_rect_pack | باكر مستطيل بسيط ثنائي الأبعاد بجودة جيدة. |
stb_truetype | تحليل وفك ترميز وتنقيط الأحرف من خطوط تروتايب. |
stb_vorbis | قم بفك تشفير ملفات ogg vorbis من ملف/ذاكرة إلى مخرجات موقعة/16 بت. |
مكتبة | وصف |
---|---|
كودا | منصة حوسبة متوازية ونموذج برمجة تم تطويره بواسطة NVIDIA للحوسبة العامة على وحدات معالجة الرسومات. |
hwloc | تجريد محمول للطوبولوجيا الهرمية للبنى الحديثة، بما في ذلك عقد ذاكرة NUMA، والمآخذ، وذاكرة التخزين المؤقت المشتركة، والنوى، وتعدد مؤشرات الترابط المتزامنة. |
jemaloc | تطبيق malloc للأغراض العامة يركز على تجنب التجزئة ودعم التزامن القابل للتطوير. |
libffi | واجهة برمجة محمولة عالية المستوى لاتفاقيات الاتصال المختلفة. |
libdivide | مكتبة تستبدل قسمات الأعداد الصحيحة الباهظة الثمن بوحدات الضرب والتحويلات الجزئية الرخيصة نسبيًا. |
LLVM | مجموعة من تقنيات المترجم وسلسلة الأدوات المعيارية والقابلة لإعادة الاستخدام. |
LMDB | قاعدة بيانات سريعة للغاية وفعالة في الذاكرة. مع الملفات المعينة للذاكرة، يتمتع بأداء القراءة لقاعدة بيانات خالصة في الذاكرة مع الحفاظ على استمرارية قواعد البيانات القياسية المستندة إلى القرص. |
LZ4 | خوارزمية ضغط بيانات بدون فقدان البيانات تركز على سرعة الضغط وإلغاء الضغط. |
مواء التجزئة | تجزئة غير مشفرة سريعة للغاية. |
أودبك | واجهة لغة البرمجة AC التي تتيح للتطبيقات الوصول إلى البيانات من مجموعة متنوعة من أنظمة إدارة قواعد البيانات (DBMSs). |
التحكم عن بعد | ملف تعريف وحدة المعالجة المركزية/وحدة معالجة الرسومات في الوقت الفعلي مستضاف في ملف C واحد مع عارض يتم تشغيله في متصفح الويب. |
com.rpmalloc | قفل المجال العام عبر النظام الأساسي لمؤشر الترابط المجاني للتخزين المؤقت ومخصص الذاكرة المحاذاة 16 بايت المطبق في C. |
xxHash | خوارزمية تجزئة سريعة للغاية، تعمل بحدود سرعة ذاكرة الوصول العشوائي (RAM). |
معيار Z (زستد) | خوارزمية ضغط سريعة بدون فقدان البيانات، تستهدف سيناريوهات الضغط في الوقت الفعلي بمستوى zlib ونسب ضغط أفضل. |
يخضع استخدام الرابط لشروط الترخيص المقابل.
LWJGL موجود بفضل جميع الأشخاص الذين يساهمون ويتبرعون لمجموعتنا.