ИзданиС Π½Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SDL 2.0.18

ИздадСна Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° SDL 2.0.18 (Simple DirectMedia Layer), която Π΅ насочСна към опростяванС Π½Π° написванСто Π½Π° ΠΈΠ³Ρ€ΠΈ ΠΈ ΠΌΡƒΠ»Ρ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ прилоТСния. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° SDL прСдоставя инструмСнти Π·Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΎ ускорСн ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° 2D ΠΈ 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π²Ρ…ΠΎΠ΄, Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π²ΡƒΠΊ, ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° 3D Ρ‡Ρ€Π΅Π· OpenGL/OpenGL ES/Vulkan ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π΅ написана Π½Π° Π΅Π·ΠΈΠΊΠ° C ΠΈ сС разпространява ΠΏΠΎΠ΄ лицСнзия zlib. Π—Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° SDL Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡ†ΠΈ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° сС разпространява ΠΏΠΎΠ΄ лицСнзия Zlib.

Π’ Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:

  • Π—Π° всяка функция Π΅ прСдоставСна информация Π·Π° вСрсията Π½Π° SDL, Π² която Π΅ появила. ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½Π° Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° синхронизация Π½Π° докумСнтацията Π² wiki с Π·Π°Π³Π»Π°Π²Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:
    • SDL_RenderGeometry() ΠΈ SDL_RenderGeometryRaw() Π·Π° рисуванС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Ρ„ΠΎΡ€ΠΌΠΈ с 2D Render API.
    • SDL_SetTextureUserData() ΠΈ SDL_GetTextureUserData() Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ с тСкстура.
    • SDL_RenderWindowToLogical() ΠΈ SDL_RenderLogicalToWindow() Π·Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° ΠΈ логичСскитС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΈ Π·Π° рисуванС.
    • SDL_RenderSetVSync() Π·Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° синхронизация Π½Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ с кадровия гасящ импулс (vblank).
    • SDL_PremultiplyAlpha() Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° прозрачност Π²ΡŠΡ€Ρ…Ρƒ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΎΡ‚ пиксСли във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° SDL_PIXELFORMAT_ARGB8888.
    • SDL_SetWindowMouseRect() ΠΈ SDL_GetWindowMouseRect() Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° курсора Π½Π° ΠΌΠΈΡˆΠΊΠ°Ρ‚Π° Π² Π·Π°Π΄Π°Π΄Π΅Π½Π°Ρ‚Π° област Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°.
    • SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() ΠΈ SDL_JoystickHasRumbleTriggers() Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Π°Ρ‚Π° вибрация (rumble) ΠΎΡ‚ игровия ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ дТойстика.
    • SDL_GetWindowICCProfile() Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Ρ†Π²Π΅Ρ‚Π΅Π½ ICC-ΠΏΡ€ΠΎΡ„ΠΈΠ» Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° (Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° промяната Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅ SDL_WINDOWEVENT_ICCPROF_CHANGED).
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ ΠΎΠΏΡ†ΠΈΠΈ: SDL_HINT_APP_NAME Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° информация Π·Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY Π·Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° прозрачността Π·Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ EGL.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ Π½ΠΎΠ²ΠΎ ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† SDL_WINDOWEVENT_DISPLAY_CHANGED, ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΏΡ€ΠΈ промяна Π½Π° Π΅ΠΊΡ€Π°Π½Π°, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°.
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° опрСдСлянС Π½Π° Ρ‚ΠΎΡ‡Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ»Π΅Π»ΠΎΡ‚ΠΎ Π½Π° ΠΌΠΈΡˆΠΊΠ°Ρ‚Π° Ρ‡Ρ€Π΅Π· ΠΏΠΎΠ»Π΅Ρ‚Π°Ρ‚Π° 'preciseX' ΠΈ 'preciseY' Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ.
  • Ѐункцията SDL_WaitEvent() Π΅ ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° Π·Π° намаляванС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° CPU.
  • API hidapi Π΅ прСмСстСн Π² катСгорията ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΈ ΠΈ сСга Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Ρ‡Ρ€Π΅Π· заглавния Ρ„Π°ΠΉΠ» SDL_hidapi.h.
  • На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Windows Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ опрСдСлянСто Π½Π° относитСлното Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΡˆΠΊΠ°Ρ‚Π° Π² Windows Remote Desktop. Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ показатСлят SDL_HINT_IME_SHOW_UI Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ€ΠΎΠ΄Π½ΠΈΡ‚Π΅ интСрфСйсни ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ (ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ са скрити). Π—Π° UWP прилоТСния вмСсто XInput Π΅ задСйстван WGI Π·Π° подобряванС Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ.
  • Π—Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Linux са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ слСднитС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ: SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° дСйствия, ΠΏΠΎΠΊΠ°Π·Π²Π°Π½ΠΈ ΠΏΡ€ΠΈ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° Π½Π° Π΅ΠΊΡ€Π°Π½Π°; SDL_HINT_LINUX_JOYSTICK_CLASSIC Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° ΠΊΠΎΠ΅ ΠΎΡ‚ устройствата (/dev/input/js* ΠΈΠ»ΠΈ /dev/input/event*) Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° дТойстик; SDL_HINT_JOYSTICK_DEVICE Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° устройството, ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΎ Π·Π° дТойстика. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ функцията SDL_LinuxSetThreadPriorityAndPolicy() Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅.
  • Π—Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Android Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΈΠ·Ρ…ΠΎΠ΄ ΠΈ запис Π½Π° Π·Π²ΡƒΠΊ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° API AAudio. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° Steam Controller Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° (Π·Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ показатСлят SDL_HINT_JOYSTICK_HIDAPI_STEAM).

Π”ΠΎΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅: Π•Π΄ΠΈΠ½ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° SDL Райън Π“ΠΎΡ€Π΄ΡŠΠ½ (icculus) ΡΡŠΠΎΠ±Ρ‰ΠΈ, Ρ‡Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ Π² SDL прост 3D API, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° API Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ GPU (Vulkan, Direct3D 12, Metal). Π’Π°Π·ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‰Π΅ бъдС финансирана ΠΎΡ‚ компанията Epic Games Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Epic Megagrant. Π“ΠΎΡ€Π΄ΡŠΠ½ ΠΏΠΎΠ΄Π°Π΄Π΅ заявка Π·Π° Π³Ρ€Π°Π½Ρ‚Π° ΠΏΡ€Π΅Π· ΠΌΠ°ΠΉ 2021 Π³. ΠΈ ΠΏΡ€Π΅Π΄ΠΈ Π΄Π²Π΅ сСдмици ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»Π΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster