SDL 2.0.16 ๋ฏธ๋””์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฆด๋ฆฌ์Šค

๊ฒŒ์ž„ ๋ฐ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘์„ฑ์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•œ SDL 2.0.16(Simple DirectMedia Layer) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SDL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ•˜๋“œ์›จ์–ด ๊ฐ€์† 2D ๋ฐ 3D ๊ทธ๋ž˜ํ”ฝ ์ถœ๋ ฅ, ์ž…๋ ฅ ์ฒ˜๋ฆฌ, ์˜ค๋””์˜ค ์žฌ์ƒ, OpenGL/OpenGL ES/Vulkan์„ ํ†ตํ•œ 3D ์ถœ๋ ฅ ๋ฐ ๊ธฐํƒ€ ์—ฌ๋Ÿฌ ๊ด€๋ จ ์ž‘์—…๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” C๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ zlib ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ํ”„๋กœ์ ํŠธ์—์„œ SDL ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ”์ธ๋”ฉ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ:

  • Wayland ์ง€์›์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Pipewire ๋ฐ AAudio ๋ฏธ๋””์–ด ์„œ๋ฒ„(Android)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ค๋””์˜ค๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์บก์ฒ˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Amazon Luna ๋ฐ Xbox Series X ๊ฒŒ์ž„ ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • HIDAPI ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ Google Stadia ๋ฐ Nintendo Switch Pro ์ปจํŠธ๋กค๋Ÿฌ์— ์ ์‘ํ˜• ์ง„๋™ ํšจ๊ณผ(๋Ÿผ๋ธ”)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • SDL_WaitEvent() ๋ฐ SDL_WaitEventTimeout() ํ˜ธ์ถœ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ CPU ๋กœ๋“œ๊ฐ€ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ œ์•ˆ๋œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ:
    • SDL_FlashWindow()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๊ด€์‹ฌ์„ ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • SDL_GetAudioDeviceSpec()์€ ์ง€์ •๋œ ์žฅ์น˜์— ๋Œ€ํ•ด ์„ ํ˜ธํ•˜๋Š” ์˜ค๋””์˜ค ํ˜•์‹์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.
    • SDL_SetWindowAlwaysOnTop()์€ ์„ ํƒํ•œ ์ฐฝ์— ๋Œ€ํ•œ SDL_WINDOW_ALWAYS_ON_TOP(์œ„๋กœ ๋งž์ถ”๊ธฐ) ํ”Œ๋ž˜๊ทธ๋ฅผ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
    • SDL_SetWindowKeyboardGrab()์€ ๋งˆ์šฐ์Šค์™€ ๊ด€๊ณ„์—†์ด ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์„ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค.
    • 32๋น„ํŠธ ํ‘œ๋ฉด ๊ฐ„์˜ ์ด์ค‘์„ ํ˜• ํฌ๊ธฐ ์กฐ์ •์„ ์œ„ํ•œ SDL_SoftStretchLinear()์ž…๋‹ˆ๋‹ค.
    • SDL_UpdateNVTexture()๋Š” NV12/21 ํ…์Šค์ฒ˜๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
    • SDL_GameControllerSendEffect() ๋ฐ SDL_JoystickSendEffect()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DualSense ๊ฒŒ์ž„ ์ปจํŠธ๋กค๋Ÿฌ์— ์‚ฌ์šฉ์ž ์ •์˜ ํšจ๊ณผ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
    • SDL_GameControllerGetSensorDataRate()๋Š” ๊ฒŒ์ž„ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์„ผ์„œ์—์„œ PlayStation ๋ฐ Nintendo Switch๋กœ ์ˆ˜์‹ ๋˜๋Š” ์ •๋ณด์˜ ๊ฐ•๋„์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.
    • Android ํ”Œ๋žซํผ์— ๊ฐ„๋‹จํ•œ ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•œ SDL_AndroidShowToast()

์ถœ์ฒ˜ : opennet.ru

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