เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” 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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™