11์›” 2.0.12์ผ์— SDL XNUMX์˜ ๋‹ค์Œ ๋ฒ„์ „์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

SDL์€ OpenGL ๋ฐ Direct3D๋ฅผ ํ†ตํ•ด ์ž…๋ ฅ ์žฅ์น˜, ์˜ค๋””์˜ค ํ•˜๋“œ์›จ์–ด, ๊ทธ๋ž˜ํ”ฝ ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•œ ๋‚ฎ์€ ์ˆ˜์ค€์˜ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ œ๊ณต๋˜๋Š” ๊ฒŒ์ž„์„ ํฌํ•จํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋น„๋””์˜ค ํ”Œ๋ ˆ์ด์–ด, ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋ฐ ์ปดํ“จํ„ฐ ๊ฒŒ์ž„์ด SDL์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

SDL์€ C๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ C++์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋ฉฐ Pascal์„ ํฌํ•จํ•œ XNUMX๊ฐ€์ง€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ๋ฐ”์ธ๋”ฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐœ์„  ์‚ฌํ•ญ์ด ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ํ…์Šค์ฒ˜ ํ™•๋Œ€/์ถ•์†Œ ๋ ˆ๋ฒจ ํ•จ์ˆ˜ SDL_GetTextureScaleMode() ๋ฐ SDL_SetTextureScaleMode()๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ž ๊ธด ๋ถ€๋ถ„์„ SDL ํ‘œ๋ฉด์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” SDL_LockTexture()์™€ ๋‹ฌ๋ฆฌ ํ…์Šค์ฒ˜ ์ž ๊ธˆ ๊ธฐ๋Šฅ SDL_LockTextureToSurface()๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณ€์กฐ์™€ ๋ธ”๋ Œ๋”ฉ์„ ๊ฒฐํ•ฉํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ธ”๋ Œ๋”ฉ ๋ชจ๋“œ SDL_BLENDMODE_MUL์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋””์Šคํ”Œ๋ ˆ์ด ์ธ๋ฑ์Šค 0์— ๋Œ€ํ•œ SDL_GetDisplayUsableBounds() ๊ฒฐ๊ณผ๋ฅผ ๋ฌด์‹œํ•˜๊ธฐ ์œ„ํ•ด SDL_HINT_DISPLAY_USABLE_BOUNDS ํžŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • SDL_TouchFingerEvent ์ด๋ฒคํŠธ๋ฅผ ์œ„ํ•ด ์†๊ฐ€๋ฝ ์•„๋ž˜์— ์ฐฝ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฒŒ์ž„ ์ปจํŠธ๋กค๋Ÿฌ ์œ ํ˜•์„ ๊ฐ€์ ธ์˜ค๋Š” SDL_GameControllerTypeForIndex(), SDL_GameControllerGetType() ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ž๋™ ์ปจํŠธ๋กค๋Ÿฌ ์œ ํ˜• ๊ฐ์ง€๋ฅผ ๋ฌด์‹œํ•˜๋Š” SDL_HINT_GAMEControlLERTYPE ๋ช…๋ น์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”Œ๋ ˆ์ด์–ด ๋ฒˆํ˜ธ์™€ ์žฅ์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ์ผ์น˜์‹œํ‚ค๋Š” SDL_JoystickFromPlayerIndex(), SDL_GameControllerFromPlayerIndex(), SDL_JoystickSetPlayerIndex(), SDL_GameControllerSetPlayerIndex() ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • XNUMX๊ฐœ์˜ ๋‹ค์–‘ํ•œ ๊ฒŒ์ž„ ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • HIDAPI ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฒŒ์ž„ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ง„๋™ ํ˜ธ์ถœ์„ ์ฐจ๋‹จํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด ์š”์†Œ SDL_zeroa()๋ฅผ ์žฌ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ๋งคํฌ๋กœ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์„ธ์„œ๊ฐ€ ARM SIMD(ARMv6+)๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” SDL_HasARMSIMD() ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

Linux ๊ฐœ์„  ์‚ฌํ•ญ:

  • ์ƒˆ X11 ์ฐฝ์— ๋Œ€ํ•ด ์„ ํƒ๋œ ๋ณด๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด SDL_HINT_VIDEO_X11_WINDOW_VISUALID ํžŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • X11์ด ๊ธฐ๋ณธ์ ์œผ๋กœ GLX ๋˜๋Š” EGL์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด SDL_HINT_VIDEO_X11_FORCE_EGL ํžŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

Android ๊ฐœ์„ ์‚ฌํ•ญ:

  • ํŠน์ • ์žฅ์น˜์˜ API ์ˆ˜์ค€์„ ๋ฐ˜ํ™˜ํ•˜๋Š” SDL_GetAndroidSDKVersion() ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • OpenSL-ES๋ฅผ ์‚ฌ์šฉํ•œ ์˜ค๋””์˜ค ์บก์ฒ˜ ์ง€์› ์ถ”๊ฐ€
  • Bluetooth Steam Controller๋ฅผ ๊ฒŒ์ž„ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ง€์› ์ถ”๊ฐ€
  • ๋“œ๋ฌผ๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ „ํ™˜๋˜๊ฑฐ๋‚˜ ์ข…๋ฃŒ๋  ๋•Œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : linux.org.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€