หลายวันก่อน ประกาศเปิดตัวไลบรารี่ SDL 2.0.16 เวอร์ชันใหม่แล้ว (Simple DirectMedia Layer) ออกแบบมาเพื่อลดความยุ่งยากในการเขียนเกมและแอพพลิเคชั่นมัลติมีเดีย ในเวอร์ชั่นใหม่นี้ มีการเพิ่มการเปลี่ยนแปลงต่างๆ ซึ่งการปรับปรุงการสนับสนุนสำหรับ Wayland นั้นโดดเด่น เช่นเดียวกับความสามารถในการสร้างและบันทึกเสียงโดยใช้เซิร์ฟเวอร์มัลติมีเดียของ Pipewire และสิ่งอื่น ๆ
สำหรับผู้ที่ไม่ทราบเกี่ยวกับห้องสมุด SDL คุณควรรู้ว่าสิ่งนี้ มีเครื่องมือเช่นฮาร์ดแวร์เร่งเอาต์พุตกราฟิก 2D และ 3D, การประมวลผลอินพุต, การเล่นเสียง, เอาต์พุต 3 มิติผ่าน OpenGL / OpenGL ES และการดำเนินการอื่น ๆ ที่เกี่ยวข้อง
เอสดีแอล เข้ากันได้อย่างเป็นทางการกับ Windows, MacOS X, Linux, iOS และ Android แม้ว่าจะมีการรองรับแพลตฟอร์มอื่น ๆ เช่น QNX นอกเหนือจากสถาปัตยกรรมและระบบอื่น ๆ เช่น Sega Dreamcast, GP32, GP2X เป็นต้น
DirectMedia Layer อย่างง่าย เขียนด้วยภาษา C ทำงานร่วมกับ C ++ และลิงก์สำหรับภาษาอื่นๆ หลายภาษา รวมถึง C # และ Python ซึ่งเผยแพร่ภายใต้ลิขสิทธิ์ zlib ใบอนุญาตนี้ช่วยให้คุณใช้ SDL ได้อย่างอิสระในซอฟต์แวร์ใดๆ
แม้จะมีการตั้งโปรแกรมด้วยภาษา C แต่ก็มีการห่อหุ้มสำหรับภาษาโปรแกรมอื่น ๆ เช่น C ++, Ada, C #, BASIC, Erlang, Lua, Java, Python เป็นต้น
คุณสมบัติใหม่หลักของ SDL 2.0.16
ใน SDL เวอร์ชันใหม่นี้ หนึ่งในความแปลกใหม่ที่โดดเด่นก็คือ การสนับสนุนสำหรับ Wayland ได้รับการปรับปรุง อย่างมากนอกจาก เพิ่มความสามารถในการสร้างและบันทึกเสียงโดยใช้ Pipewire Media Server และ AAudio (Android) และยังรองรับตัวควบคุมเกม Amazon Luna และ Xbox Series X
การเปลี่ยนแปลงอีกอย่างที่เราหาได้ก็คือe เพิ่มการรองรับเอฟเฟกต์การสั่นสะเทือนแบบปรับได้ (ดังก้อง) ใน ตัวควบคุม Google Stadia และ Nintendo Switch Pro เมื่อใช้ไดรเวอร์ HIDAPI
นอกจากนั้นแล้ว ภาระของ CPU ลดลง เมื่อประมวลผลการโทร SDL_WaitEvent () และ SDL_WaitEventTimeout () และยังมีการเพิ่มคำจำกัดความของส่วนขยาย SIMD ที่เข้ากันได้กับแพลตฟอร์ม Elbrus
สำหรับส่วน ของคุณสมบัติใหม่ ที่ได้รับการเสนอในเวอร์ชันใหม่นี้มีการกล่าวถึงต่อไปนี้:
- SDL_FlashWindow () - ช่วยให้คุณดึงดูดความสนใจของผู้ใช้
- SDL_GetAudioDeviceSpec (): คือการรับข้อมูลเกี่ยวกับรูปแบบเสียงที่ต้องการสำหรับอุปกรณ์ที่ระบุ
- SDL_SetWindowAlwaysOnTop (): มีจุดมุ่งหมายเพื่อเปลี่ยนการตั้งค่าสถานะ SDL_WINDOW_ALWAYS_ON_TOP แบบไดนามิก (ยึดกับเนื้อหาอื่น) สำหรับหน้าต่างที่เลือก
- SDL_SetWindowKeyboardGrab (): เพื่อจับอินพุตคีย์บอร์ดโดยไม่ขึ้นกับเมาส์
- SDL_SoftStretchLinear (): สำหรับการปรับขนาดแบบ bilinear ระหว่างพื้นผิวแบบ 32 บิต
- SDL_UpdateNVTexture (): เพื่ออัปเดตพื้นผิวใน NV12 / 21
- SDL_GameControllerSendEffect () และ SDL_JoystickSendEffect (): เพื่อส่งเอฟเฟกต์แบบกำหนดเองไปยังตัวควบคุมเกม DualSense
- SDL_GameControllerGetSensorDataRate (): เพื่อรับข้อมูลเกี่ยวกับความเข้มของข้อมูลที่ได้รับจากเซ็นเซอร์ของตัวควบคุมเกม PlayStation และ Nintendo Switch
- SDL_AndroidShowToast (): อนุญาตให้แสดงการแจ้งเตือนแบบแสงบนแพลตฟอร์ม Android
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม ของเวอร์ชันใหม่นี้คุณสามารถตรวจสอบไฟล์ รายละเอียดตามลิงค์ต่อไปนี้
จะติดตั้ง Simple DirectMedia Layer บน Linux ได้อย่างไร?
การติดตั้งไลบรารีนี้บน Linux นั้นค่อนข้างง่ายเนื่องจากลีนุกซ์ส่วนใหญ่มีไลบรารีอยู่ในที่เก็บ
ในกรณีของ Debian, Ubuntu และการกระจายที่ได้มาจากสิ่งเหล่านี้คุณจะต้องเรียกใช้เท่านั้น คำสั่งต่อไปนี้ในเทอร์มินัล:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
ในขณะที่กรณีของผู้ที่เป็นคุณArch Linux suarios เราต้องเรียกใช้สิ่งต่อไปนี้:
sudo pacman -S sdl2
ในกรณีของผู้ที่เป็นผู้ใช้ Fedora, Centos, RHEL หรือการกระจายใด ๆ ตามพวกเขา พวกเขาต้องรันคำสั่งต่อไปนี้:
sudo yum install SDL2 sudo yum install SDL2-devel
สำหรับลีนุกซ์รุ่นอื่น ๆ ทั้งหมดพวกเขาสามารถค้นหาแพ็คเกจ "sdl" หรือ "libsdl" เพื่อติดตั้งหรือดาวน์โหลดและรวบรวมซอร์สโค้ด
พวกเขาทำสิ่งนี้กับ:
git clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install