ما هو نانو في جي؟ رسومات متجهة لـ OpenGL

NanoVG هي مكتبة رسوميات متجهية ثنائية الأبعاد صغيرة الحجم مع معالجة لمضاد التعرج، مصممة لـ OpenGL. تستخدم تطبيقات Minecraft هذه المكتبة عبر LWJGL لرسم واجهات المستخدم الرسومية (HUDs) والقوائم والأشكال بوضوح.

Librariesby trqUpdated June 4, 2026
Key takeaways
  • NanoVG هي مكتبة رسوميات متجهية ثنائية الأبعاد صغيرة الحجم، مُنعّمة الحواف، لـ OpenGL، مكتوبة بلغة C.
  • ترسم الأشكال والنصوص والتدرجات من المسارات، مع حواف ناعمة بأي حجم.
  • تصل تطبيقات Minecraft إليها من خلال روابط LWJGL لرسم واجهات المستخدم والقوائم.
  • الرسم المتجهي يتفوق في واجهات المستخدم القابلة لتغيير الحجم؛ الصور النقطية لا تزال تتفوق في الأعمال الفنية الثابتة.

NanoVG هي مكتبة رسومات متجهة صغيرة مضادة للتشويش لـ OpenGL، مكتوبة بلغة C. ترسم أشكالًا ثنائية الأبعاد ونصوصًا وتدرجات ذات حواف ناعمة من خلال واجهة برمجة تطبيقات واحدة مضغوطة. في عميل Minecraft، يتم الوصول إليها من خلال ربط LWJGL، بحيث يمكن لتعليمات Java البرمجية رسم واجهات مستخدم وقوائم واضحة فوق اللعبة.

أين Opal يناسب

Opal هو تعديل Fabric يضع واجهة خاصة به فوق اللعبة. إذا أردت إضافة ميزات خاصة بك، يوضح دليل البرمجة النصية كيفية فعل ذلك باستخدام JavaScript

ما الذي يفعله NanoVG

يرسم NanoVG رسومات متجهة ثنائية الأبعاد على وحدة معالجة الرسومات (GPU) عبر OpenGL. تصف الأشكال باستخدام مسارات (خطوط ومنحنيات ومستطيلات ودائرة)، ثم تملأها أو تحدد حدودها. تتعامل المكتبة مع التنعيم (antialiasing)، بحيث تظل الحواف سلسة بأي حجم بدلاً من أن تصبح متقطعة كما هو الحال في خريطة بتية ممدودة.

تم تصميمها لتكون صغيرة عن قصد. المكتبة بأكملها عبارة عن ملف C واحد مع واجهة برمجة تطبيقات (API) مركزة، وهذا هو أحد الأسباب التي تجعلها تظهر في عروض الرسومات وطبقات واجهة المستخدم الخفيفة بدلاً من التعليمات البرمجية الثقيلة للمحركات.

لماذا يستخدم عميل Minecraft ذلك

يرسم العميل واجهة خاصة به فوق Minecraft: قوائم، وقوائم، ومؤشرات الأشكال، وعناصر HUD مخصصة. يمنح NanoVG تلك الواجهة طريقة نظيفة لرسم أشكال متجهة ونص يتناسب مع أي دقة دون أن يبدو متعرجًا.

نظرًا لأن العرض يعتمد على المسارات، يمكن للمطور إنشاء لوحات مستديرة وتدرجات ومخططات من العناصر الأولية بدلاً من الصور المخبوزة مسبقًا. هذا يحافظ على المظهر متسقًا عبر مقاييس واجهة المستخدم وأحجام العرض.

NanoVG و LWJGL

يعمل Minecraft وتعديلاته على JVM، لكن NanoVG هي مكتبة C. LWJGL يردم الفجوة. إنه يوفر ارتباطات Java بمكتبات أصلية مثل NanoVG و OpenGL، بحيث يمكن لتعليمات Java البرمجية استدعاء الوظائف الأصلية مباشرة.

يربط العميل بوحدة LWJGL NanoVG، ويفتح سياق رسم، ويصدر استدعاءات المسار والطلاء داخل حلقة العرض الخاصة باللعبة. يقوم الجانب الأصلي بعمل التظليل الفعلي على وحدة معالجة الرسومات (GPU).

NanoVG مقابل الرسم بالصور النقطية

الجانبNanoVG (متجه)الصور النقطية
الحوافمُنعّمة الحواف بأي حجمضبابية أو تشويه عند تغيير الحجم
الأشكالمُنشأة من المسارات في وقت التشغيلأصول صور جاهزة
الذاكرةخفيف، لا توجد نصوص كبيرةيزداد مع عدد الصور
الأفضل لـواجهات المستخدم، الأشكال، النصوص الديناميكيةالصور، الأعمال الفنية الثابتة، الرموز

يفوز الرسم المتجه لعناصر الواجهة التي تتغير الحجم أو اللون. لا تزال الصور النقطية تفوز بالأعمال الفنية التفصيلية الثابتة.

الأسئلة الشائعة