ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° (Simple DirectMedia Layer), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π·Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ³ΡΠΈ ΠΈ ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° SDL ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΊΠ°ΡΠΎ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ Π½Π° 2D ΠΈ 3D Π³ΡΠ°ΡΠΈΠΊΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²Ρ ΠΎΠ΄, Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π²ΡΠΊ, ΠΈΠ·Ρ ΠΎΠ΄ Π½Π° 3D ΡΡΠ΅Π· OpenGL/OpenGL ES ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈ ΡΡΠΏΡΡΡΡΠ²Π°ΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Π΅Π·ΠΈΠΊΠ° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ zlib. ΠΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° SDL Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ ΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ.
Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° HIDAPI Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Nintendo GameCube ΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊ SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΊΡΠ° Π·Π° ΡΡΡ Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Xbox 360 ΠΈ Xbox One Π² HIDAPI;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ:
- 8BitDo FC30 Pro
- 8BitDo M30 GamePad
- BDA PS4 Fightpad
- HORI Fighting Commander
- Hyperkin Duke
- Hyperkin X91
- MOGA XP5-A Plus
- NACON GC-400ES
- NVIDIA Controller v01.04
- PDP Versus Fighting Pad
- Razer Raion Fightpad Π·Π° PS4
- Razer Serval
- Stadia Controller
- SteelSeries Stratus Duo
- Victrix Pro Fight Stick Π·Π° PS4
- Xbox One Elite Series 2
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ SDL_GetTextureScaleMode() ΠΈ SDL_SetTextureScaleMode() Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ ΠΈ Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, ΠΏΡΠΈΠ»Π°Π³Π°Π½ Π·Π° ΡΠ΅ΠΊΡΡΡΡΠΈΡΠ΅;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° SDL_LockTextureToSurface(), ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° SDL_LockTexture(), Π½ΠΎ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΡΠ° Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π°ΡΠ° ΠΎΠ±Π»Π°ΡΡ ΠΊΠ°ΡΠΎ SDL Surface;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠΌΠ΅ΡΠ²Π°Π½Π΅ SDL_BLENDMODE_MUL;
- Π ΡΡΠ½ΠΊΡΠΈΡΡΠ° SDL_GameControllerTypeForIndex() Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ Π½Π° ΡΠΈΠΏΠ° ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ (Xbox 360, Xbox One, PS3, PS4, Nintendo Switch Pro);
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ SDL_JoystickFromPlayerIndex(), SDL_JoystickSetPlayerIndex(), SDL_GameControllerSetPlayerIndex() ΠΈ SDL_GameControllerFromPlayerIndex() Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ ΠΈ Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΠΈΠ³ΡΠ°ΡΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ°ΠΊΡΠΎΡ SDL_zeroa() Π·Π° Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΡΠΈΠ² ΠΎΡ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° SDL_HasARMSIMD() Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ARM SIMD Π² CPU ARMv6+;
- ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Linux ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΡΠΈΠ·Π½Π°ΡΠΈΡΠ΅ SDL_HINT_VIDEO_X11_WINDOW_VISUALID (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° Π·Π° Π½ΠΎΠ²ΠΈ X11 ΠΏΡΠΎΠ·ΠΎΡΡΠΈ) ΠΈ SDL_HINT_VIDEO_X11_FORCE_EGL (ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° GLX ΠΈΠ»ΠΈ EGL Π·Π° X11);
- ΠΠ° Android Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠ»Π°Π²ΡΠ½Π΅ Π½Π° Π·Π²ΡΠΊ Ρ OpenSL-ES ΠΈ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Bluetooth Steam Controller ΠΊΠ°ΡΠΎ ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
