SDL 2.0.18 Media Library Release

Oyunların və multimedia proqramlarının yazılmasını sadələşdirməyə yönəlmiş SDL 2.0.18 (Simple DirectMedia Layer) kitabxanası buraxıldı. SDL kitabxanası aparat tərəfindən sürətləndirilmiş 2D və 3D qrafika çıxışı, daxiletmənin işlənməsi, audionun oxudulması, OpenGL/OpenGL ES/Vulkan vasitəsilə 3D çıxışı və bir çox digər əlaqəli əməliyyatlar kimi alətlər təqdim edir. Kitabxana C dilində yazılmışdır və zlib lisenziyası ilə paylanır. Müxtəlif proqramlaşdırma dillərində layihələrdə SDL imkanlarından istifadə etmək üçün bağlamalar təmin edilir. Kitabxana kodu Zlib lisenziyası əsasında paylanır.

Yeni buraxılışda:

  • Hər bir funksiya üçün funksiyanın göründüyü SDL versiyası haqqında məlumat verilir. Başlıq faylları ilə viki sənədlərinin avtomatik sinxronlaşdırılması təmin edilir.
  • Yeni funksiyalar əlavə edildi:
    • SDL_RenderGeometry() və SDL_RenderGeometryRaw() 2D Render API istifadə edərək ixtiyari formaların göstərilməsi üçün.
    • SDL_SetTextureUserData() və SDL_GetTextureUserData() proqram məlumatlarını fakturaya bağlamaq üçün.
    • SDL_RenderWindowToLogical() və SDL_RenderLogicalToWindow() pəncərə koordinatları və məntiqi render koordinatları arasında çevirmək üçün.
    • SDL_RenderSetVSync() şaquli boşalma impulsu (vblank) ilə çıxış sinxronizasiyasını aktivləşdirmək üçün.
    • SDL_PremultiplyAlpha() SDL_PIXELFORMAT_ARGB8888 formatında piksel bloklarına şəffaflıq tətbiq etmək.
    • SDL_SetWindowMouseRect() və SDL_GetWindowMouseRect() siçan kursorunun hərəkətini pəncərənin müəyyən edilmiş sahəsinə məhdudlaşdırmaq üçün.
    • SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() və SDL_JoystickHasRumbleTriggers() oyun nəzarətçisi və joystikin adaptiv vibrasiya effektini (guruldama) dəstəklədiyini yoxlamaq üçün
    • Pəncərənin ICC rəng profilini əldə etmək üçün SDL_GetWindowICCCProfile() (profil dəyişikliklərini yoxlamaq üçün SDL_WINDOWEVENT_ICCPROF_CHANGED hadisəsi təklif olunur).
  • Yeni atributlar əlavə edildi: proqram adı haqqında məlumat ötürmək üçün SDL_HINT_APP_NAME və EGL pəncərələri üçün şəffaflığı aktivləşdirmək üçün SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY.
  • Pəncərənin göstərildiyi ekran dəyişdikdə yaradılan SDL_WINDOWEVENT_DISPLAY_CHANGED adlı yeni pəncərə hadisəsi əlavə edildi.
  • Hadisə parametrlərindəki “preciseX” və “preciseY” sahələrindən istifadə etməklə siçan təkərinin hərəkətinin dəqiq parametrlərini müəyyən etmək mümkündür.
  • SDL_WaitEvent() funksiyası CPU yükünü azaltmaq üçün yenidən işlənib.
  • Hidapi API ictimai kateqoriyaya köçürülüb və indi SDL_hidapi.h başlıq faylı vasitəsilə əlçatandır.
  • Windows platformasında, Uzaqdan Windows Masaüstündə nisbi siçan hərəkətinin aşkarlanması təkmilləşdirilmişdir. Doğma interfeys komponentlərini göstərmək üçün SDL_HINT_IME_SHOW_UI atributu əlavə edildi (defolt olaraq gizlidir). UWP proqramları üçün giriş nəzarətçiləri üçün dəstəyi yaxşılaşdırmaq üçün XInput əvəzinə WGI istifadə olunur.
  • Linux platforması üçün aşağıdakı atributlar tətbiq edilmişdir: Ekran qoruyucusu deaktiv edildikdə göstərilən məcburi hərəkətlər üçün SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME; joystik üçün hansı cihazı (/dev/input/js* və ya /dev/input/event*) seçmək üçün SDL_HINT_LINUX_JOYSTICK_CLASSIC; Cihazı joystik üçün açmaq üçün SDL_HINT_JOYSTICK_DEVICE. Mövzunun prioritetləşdirilməsinə nəzarət etmək üçün SDL_LinuxSetThreadPriorityAndPolicy() funksiyası əlavə edildi.
  • Android platforması üçün AAudio API istifadə edərək səs çıxışı və çəkiliş dəstəyi həyata keçirilib. Varsayılan olaraq, Buxar Nəzarətçisi üçün dəstək deaktivdir (aktiv etmək üçün SDL_HINT_JOYSTICK_HIDAPI_STEAM bayrağı təklif edilmişdir).

Əlavə: SDL müəlliflərindən biri Rayan Qordon (icculus) SDL-ə müasir GPU-ların (Vulkan, Direct3D 3, Metal) API imkanlarını dəstəkləyən sadə 12D API əlavə etməyi planlaşdırdığını bildirib. Bu inkişaf Epic Megagrant proqramının bir hissəsi olaraq Epic Games tərəfindən maliyyələşdiriləcək. Gordon 2021-ci ilin may ayında qrant üçün ərizə təqdim etdi və iki həftə əvvəl müsbət cavab aldı.

Mənbə: opennet.ru

Добавить комментарий