إصدار المكتبة (Simple Direct Layer)، يهدف إلى تبسيط كتابة الألعاب وتطبيقات الوسائط المتعددة. توفر المكتبة أدوات مثل إخراج الرسومات ثنائية الأبعاد وثلاثية الأبعاد المتسارعة بالأجهزة، ومعالجة الإدخال، وتشغيل الصوت، والإخراج ثلاثي الأبعاد عبر OpenGL/OpenGL ES والعديد من العمليات الأخرى ذات الصلة. تمت كتابة المكتبة بلغة C وتوزيعها بموجب ترخيص zlib. يتم توفير الارتباطات لتمكين استخدام قدرات SDL في المشاريع بلغات برمجة مختلفة.
في الإصدار الجديد:
- تمت إزالة برنامج التشغيل للعمل مع خادم العرض Mir لصالح برنامج التشغيل للعمل عبر Wayland؛
- تم تحويل وحدات الماكرو SDL_RW* إلى مجموعة منفصلة من الوظائف؛
- تمت إضافة وظائف SDL_SIMDGetAlignment() وSDL_SIMDAlloc() وSDL_SIMDFree() لتخصيص الذاكرة لعمليات SIMD؛
- تمت إضافة وظائف SDL_RenderDrawPointF() وSDL_RenderDrawPointsF() وSDL_RenderDrawLineF() وSDL_RenderDrawLinesF() وSDL_RenderDrawRectF() وSDL_RenderDrawRectsF() وSDL_RenderFillRectF() وSDL_RenderFillRectsF() وSDL_RenderCopyF() وSDL_RenderCopyExF() لاستخدام حسابات الفاصلة العائمة في واجهة برمجة تطبيقات عرض SDL؛
- تمت إضافة وظيفة SDL_GetTouchDeviceType() لتحديد نوع جهاز اللمس (لوحة لمس أو شاشة تعمل باللمس مع إحداثيات نسبية أو مطلقة)؛
- تم نقل واجهة برمجة تطبيقات عرض SDL لاستخدام العرض الدفعي بشكل افتراضي، مما يسمح بتحقيق أداء أفضل. تمت إضافة خيار SDL_HINT_RENDER_BATCHING للتحكم في استخدام وضع الدفعة؛
- تمت إضافة استدعاء SDL_RenderFlush() لإجبار تنفيذ أوامر الدفعة المدرجة في قائمة الانتظار، وهو ما قد يكون مفيدًا عند الجمع بين عرض SDL والعرض المباشر؛
- تمت إضافة خيار SDL_HINT_EVENT_LOGGING لتمكين تسجيل أحداث SDL لأغراض التصحيح؛
- تمت إضافة خيار SDL_HINT_GAMECONTROLLERCONFIG_FILE لتحديد اسم الملف مع تخطيط وحدات التحكم في الألعاب؛
- تمت إضافة خيار SDL_HINT_MOUSE_TOUCH_EVENTS للتحكم في تركيب أحداث اللمس استنادًا إلى أحداث الماوس؛
- تم تحسين التعامل مع ملفات WAVE وBMP المشوهة لمنع الاختراقات المحتملة ;
- يضيف نظامي التشغيل iOS 13 و tvOS 13 الدعم لوحدات التحكم اللاسلكية Xbox و PS4، ويضيفان الدعم لإدخال النص باستخدام لوحات مفاتيح Bluetooth؛
- يتمتع نظام Android بوضع معالجة صوتية منخفض الكمون تم تنفيذه باستخدام OpenSL ES. تمت إضافة خيار SDL_HINT_ANDROID_BLOCK_ON_PAUSE للتحكم فيما إذا كان سيتم حظر حلقة الحدث عند إيقاف التطبيق مؤقتًا.
المصدر: opennet.ru
