- LWJGL هي مكتبة ألعاب جافا خفيفة الوزن، وهي بمثابة جسر بين جافا والرسومات الأصلية والصوت والإدخال.
- إنها مجموعة من الربط الرقيق (OpenGL، OpenAL، GLFW، والمزيد)، وليست مكتبة واحدة.
- تقع نافذة Minecraft ومحرك العرض ومكدس الإدخال كلها على LWJGL.
- إنها مكتبة، وليست تعديلاً أو مُحمِّل تعديلات، و Minecraft تتضمنها بالفعل.
LWJGL هي مكتبة ألعاب جافا خفيفة الوزن. إنها الجسر الذي يسمح لتعليمات برمجية جافا باستدعاء واجهات برمجة التطبيقات الأصلية للرسومات والصوت والإدخال. Minecraft هي لعبة جافا، لذا فهي تستخدم LWJGL للتواصل مع وحدة معالجة الرسومات (GPU) وأجهزة الصوت الخاصة بك. تصل التعديلات التي ترسم واجهات مخصصة أو تشغل صوتًا إلى نفس الطبقة الأصلية من خلالها.
أين Opal يناسب
Opal هو تعديل Fabric، لذا فهو يعرض نفسه من خلال سياق الرسومات البيانية LWJGL الذي أعده اللعبة بالفعل. يغطي دليل الإعداد كيفية تشغيل Opal
ما الذي تفعله LWJGL فعليًا
توفر LWJGL غلافًا رقيقًا ومباشرًا لـ Java حول المكتبات الأصلية المكتوبة بلغة C. لا يمكن لـ Java بمفردها استدعاء OpenGL أو OpenAL؛ فهما مكتوبان بلغة C ويتعيّشان في نظام التشغيل أو برنامج التشغيل. تقوم LWJGL بتضمين كود الربط والملفات الثنائية الأصلية بحيث تتطابق طرق Java تقريبًا مع وظائف C الأساسية.
الغلاف رقيق عن قصد. لا تخفي LWJGL OpenGL خلف رسم بياني للمشهد أو محرك. أنت تكتب كود الرسومات بالقرب من واجهة برمجة التطبيقات، ولهذا السبب فهي شائعة في الألعاب التي تريد التحكم والأداء المتوقع.
ما الذي تربطه
LWJGL هي مجموعة من الارتباطات بدلاً من مكتبة واحدة. تشمل المكونات ذات الصلة بـ Minecraft وتعديلاته ما يلي:
| الربط | ما هو |
|---|---|
| OpenGL | الرسم على الشاشة: واجهة برمجة التطبيقات للرسم التي يستخدمها اللعبة |
| OpenAL | الصوت المكاني ثلاثي الأبعاد |
| GLFW | إنشاء النوافذ، حلقة اللعبة، وإدخال لوحة المفاتيح/الماوس |
| stb | أدوات مساعدة لتحميل الصور والخطوط |
| NanoVG | رسم متجه ثنائي الأبعاد مضاد للتشويه، يستخدم بواسطة بعض كود واجهة المستخدم |
كل ربط اختياري. يجلب المشروع الوحدات النمطية التي يحتاجها فقط.
لماذا يعتمد Minecraft وتعديلاته عليها
تعتمد مجموعة النوافذ والعرض والإدخال بأكملها في Minecraft على LWJGL. عندما يفتح اللعبة نافذة أو يقرأ الماوس أو يدفع المثلثات إلى وحدة معالجة الرسومات (GPU)، فإن هذا الاستدعاء يمر عبر LWJGL إلى الطبقة الأصلية.
تَرِثُ التَّعديلات هذا. التَّعديل الذي يَعْرِض تراكبًا داخل اللعبة أو قائمة مخصصة يَستخدم سياق OpenGL نفسه الذي أَعْدَدَتْهُ اللعبة من خلال LWJGL. بعض التعديلات تَعْرِض واجهتها باستخدام NanoVG، وهي بدورها إحدى مكتبات ربط LWJGL. هذا الأساس المشترك هو جزء من سبب إمكانية عرض تعديل واحد جنبًا إلى جنب مع اللعبة دون الحاجة إلى إنشاء نظام رسومات خاص به.
هل LWJGL تعديل؟
لا. LWJGL هي مكتبة، وليست تعديلًا ولا مُحَمِّل تعديلات. لا تقوم بتثبيتها بالطريقة التي تثبت بها التعديل. Minecraft تتضمن بالفعل الإصدار الذي تحتاجه، ويقوم المُشغِّل بتنزيل الثنائيات الأصلية المطابقة لنظام التشغيل الخاص بك. يقوم مطورو التعديلات بالترجمة البرمجية مقابل LWJGL ولكنهم نادرًا ما يشحنون نسختهم الخاصة.
الأسئلة الشائعة
لا. تأتي لعبة Minecraft مع الإصدار الذي تحتاجه، ويقوم المُشغِّل بتنزيل الملفات الأصلية لنظام التشغيل الخاص بك. نادرًا ما يتفاعل اللاعبون مع LWJGL بشكل مباشر
يعني أن المكتبة تظل قريبة من واجهات برمجة التطبيقات الأصلية بدلًا من تغليفها في محرك ثقيل. تحصل على وصول مباشر مع القليل جدًا بين التعليمات البرمجية والأجهزة
لا. LWJGL هي مكتبة ألعاب Java عامة تستخدمها العديد من ألعاب وأدوات Java. Minecraft هو المشروع الأكثر شهرة الذي تم بناؤه عليها، لكنها ليست مرتبطة بـ Minecraft
أي لغة تعمل على آلة Java الافتراضية، بما في ذلك Java و Kotlin. يتم تعريض الربط كواجهات برمجة تطبيقات Java