SDL ย่อมาจาก Simple DirectMedia Layer และเป็นไลบรารีมัลติมีเดียแบบโอเพ่นซอร์สที่เขียนขึ้นใน C และออกแบบมาเพื่อให้เข้าถึงเมาส์คีย์บอร์ดเสียงสเตจจิ้งฮาร์ดแวร์กราฟิก 3D ผ่าน Direct3D และ OpenGL
ใช้ในเกม Bundle Humble Bundle หรือรายการที่ได้รับรางวัลของ Valve
วันนี้ SDL ใช้ซอฟต์แวร์เลียนแบบซอฟต์แวร์เล่นวิดีโอรวมถึงเกมยอดนิยมมากมายรวมถึงรางวัล "Civilization: Call To Powe" ของลินุกซ์หลายเกม Bundle Humble และแคตตาล็อกที่ได้รับรางวัลของ Valve
ทำงานบนระบบปฏิบัติการหลักทั้งหมด
Simple DirectMedia Layer ทำงานบนระบบปฏิบัติการจำนวนมากรวมถึงหลัก GNU / Linux, Microsoft Windows และ Mac OS X นอกจากนี้ยังสนับสนุนระบบ BeOS, BSD (FreeBSD, OpenBSD), BSD / OS, Solaris, IRIX, QNX OSes ตลอดจนระบบปฏิบัติการ Android และ iOS แพลตฟอร์มฮาร์ดแวร์ที่สนับสนุนประกอบด้วย 32 และ 64 บิต
เริ่มต้นใช้งาน SDL
SDL สามารถดาวน์โหลดได้จากหลายระบบปฏิบัติการที่ใช้ระบบปฏิบัติการ Linux โดยผ่านที่เก็บซอฟต์แวร์ของตนอย่างเป็นทางการ การติดตั้งโดยใช้แพคเกจต้นทางล่าสุดซึ่งมีการแจกจ่ายฟรีใน Softoware เป็นเรื่องง่ายเหมือนวงกลม
ดาวน์โหลดและบันทึกที่เก็บถาวรในโฮมไดเร็กทอรีของคุณเปิดไฟล์เปิดแอป Terminal และไปที่ตำแหน่งที่คุณได้แยกแฟ้มเก็บถาวร (เช่น cd /home/softoware/SDL2-2.0.3).
เรียกใช้ & lsquo; ./ configure && make & rsquo; คำสั่งเพื่อกำหนดค่าเพิ่มประสิทธิภาพและรวบรวมโปรแกรม หลังจากคอมไพล์สำเร็จแล้วให้เรียกใช้ & lsquo; sudo make install & rsquo; เป็นผู้ใช้ที่มีสิทธิพิเศษในการติดตั้งระบบ SDL กว้าง
ภายใต้ฝากระโปรง
การดูอย่างรวดเร็วภายใต้หัวข้อโครงการ SDL จะแจ้งให้เราทราบว่ามีการเขียนด้วยภาษา C และใช้งานได้โดยใช้ C ++ การผูกสำหรับภาษาการเขียนโปรแกรมอื่น ๆ ยังมีอยู่ซึ่งสนับสนุน Python ที่เป็นที่นิยม & nbsp; Ada, Java, Lua, Eiffel, ML, PHP, Perl, Pike, Ruby และ C #
มีอะไรใหม่ ในรุ่นนี้:
- ทั่วไป:
- เพิ่ม API เพื่อรับเส้นทางระบบไฟล์ทั่วไปใน SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- เพิ่ม API เพื่อปรับปรุงพื้นผิว YV12 และ IYUV ที่ปรับปรุงแล้ว: SDL_UpdateYUVTexture ()
- เพิ่ม API เพื่อรับจำนวน RAM ในระบบ: SDL_GetSystemRAM ()
- เพิ่มมาโครเพื่อทำการเปรียบเทียบ timestamp กับ SDL_GetTicks (): SDL_TICKS_PASSED ()
- ปรับปรุงประสิทธิภาพการแสดงผล OpenGL ES 2.0 อย่างมาก
- เพิ่มคุณสมบัติ OpenGL SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- ลินุกซ์:
- สนับสนุนเสียงแบบ Float audio กับโปรแกรมควบคุม PulseAudio
- แก้ไขจุดสิ้นสุดของบรรทัดที่ขาดหายไปในเครื่องแสดงผล OpenGL ในไดรเวอร์บางเครื่อง
- สัญลักษณ์ X11 ไม่ได้ถูกกำหนดไว้เพื่อหลีกเลี่ยงการชนกันเมื่อเชื่อมโยงแบบ statically
- Android:
- สำคัญ: คุณต้องได้รับ SDLActivity.java ที่อัปเดตเพื่อให้ตรงกับรหัส C
- เริ่มต้นการย้าย EGL ไปยังโค้ดเนม
- แก้ไขการหมุนแกน accelerometer เทียบกับการหมุนอุปกรณ์
- แก้ไขสภาวะการแข่งขันเมื่อจัดการกับบริบท EGL เมื่อหยุดชั่วคราว / ดำเนินการต่อ
- แตะอุปกรณ์พร้อมใช้งานสำหรับการแจงนับทันทีหลังจาก init
- ราสเบอร์รี่ Pi:
- เพิ่มการสนับสนุนสำหรับราสเบอร์รี่ Pi ดู README-raspberrypi.txt เพื่อดูรายละเอียด
มีอะไรใหม่ ในเวอร์ชัน 2.0.3:
- ทั่วไป:
- เพิ่ม API เพื่อรับเส้นทางระบบไฟล์ทั่วไปใน SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- เพิ่ม API เพื่อปรับปรุงพื้นผิว YV12 และ IYUV ที่ปรับปรุงแล้ว: SDL_UpdateYUVTexture ()
- เพิ่ม API เพื่อรับจำนวน RAM ในระบบ: SDL_GetSystemRAM ()
- เพิ่มมาโครเพื่อทำการเปรียบเทียบ timestamp กับ SDL_GetTicks (): SDL_TICKS_PASSED ()
- ปรับปรุงประสิทธิภาพการแสดงผล OpenGL ES 2.0 อย่างมาก
- เพิ่มคุณสมบัติ OpenGL SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- ลินุกซ์:
- สนับสนุนเสียงแบบ Float audio กับโปรแกรมควบคุม PulseAudio
- แก้ไขจุดสิ้นสุดของบรรทัดที่ขาดหายไปในเครื่องแสดงผล OpenGL ในไดรเวอร์บางเครื่อง
- สัญลักษณ์ X11 ไม่ได้ถูกกำหนดไว้เพื่อหลีกเลี่ยงการชนกันเมื่อเชื่อมโยงแบบ statically
- Android:
- สำคัญ: คุณต้องได้รับ SDLActivity.java ที่อัปเดตเพื่อให้ตรงกับรหัส C
- เริ่มต้นการย้าย EGL ไปยังโค้ดเนม
- แก้ไขการหมุนแกน accelerometer เทียบกับการหมุนอุปกรณ์
- แก้ไขสภาวะการแข่งขันเมื่อจัดการกับบริบท EGL เมื่อหยุดชั่วคราว / ดำเนินการต่อ
- แตะอุปกรณ์พร้อมใช้งานสำหรับการแจงนับทันทีหลังจาก init
- ราสเบอร์รี่ Pi:
- เพิ่มการสนับสนุนสำหรับราสเบอร์รี่ Pi ดู README-raspberrypi.txt เพื่อดูรายละเอียด
มีอะไรใหม่ ในเวอร์ชัน 1.2.14:
- หมายเหตุทั่วไป:
- แก้ไขภาพสั่นเมื่อปรับขนาดหน้าต่าง SDL
- แก้ไขข้อขัดข้องใน SDL_SetGammaRamp ()
- ตรึงค่าคงที่ใน SDL_memset () ด้วยความยาว 0 เมื่อโค้ดแอสเซมบลีถูกปิดใช้งาน
- เพิ่มตัวแปรสภาพแวดล้อม SDL_DISABLE_LOCK_KEYS เพื่อเปิดใช้งานเหตุการณ์ขึ้น / ลงตามปกติสำหรับปุ่ม Caps-Lock และ Num-Lock
- แก้ไขปัญหาเกี่ยวกับคุณภาพเสียงเมื่อแปลงระหว่าง 22050 Hz และ 44100 Hz
- แก้ไขข้อขัดข้องของเธรดเมื่อมีการสร้างและสร้างเธรดไม่กี่อย่างรวดเร็ว
- เพิ่มความแม่นยำของการผสมแบบอัลฟา
- แก้ไขไฟล์ BMP ที่โหลดโดยใช้ scanlines inverted
- ตรึงจับเมาส์ไว้หาก SDL_SetVideoMode () ไม่ได้ถูกเรียกใช้เพื่อตอบสนองต่อเหตุการณ์ SDL_VIDEORESIZE
- เพิ่มเอกสาร doxygen สำหรับส่วนหัว API SDL
- หมายเหตุของ Unix:
- แก้ไขความเสียหายของหน่วยความจำที่อาจเกิดขึ้นเนื่องจากข้อผิดพลาดในการชุมนุมด้วย SDL_revcpy ()
- แก้ไขปัญหาในการตรวจจับคุณสมบัติ SSE บนสถาปัตยกรรม x86_64
- แอสเซมบลีที่ถาวรสำหรับ GCC ที่เพิ่มประสิทธิภาพ blits blas 50%
- เพิ่มการกำหนดค่า --enable-screensaver เพื่อเปิดใช้งานสกรีนเซฟเวอร์โดยค่าเริ่มต้น
- ใช้ XResetScreenSaver () แทนการปิดใช้งานสกรีนเซฟเวอร์ทั้งหมด
- ลบขีด จำกัด ของขนาดหน้าต่างสูงสุดใน X11
- แก้ไข SDL_GL_SWAP_CONTROL ใน X11
- แก้ไขการตั้งค่าคำแนะนำในการป้อนข้อมูล X11
- แก้ไขไอคอนหน้าต่าง X11 ที่บิดเบี้ยวสำหรับภาพจริง ๆ
- แก้ไขการตรวจหาไลบรารี X11 สำหรับการโหลดแบบไดนามิกบน Linux แบบ 64 บิต
- SDL_GL_GetAttribute (SDL_GL_SWAP_CONTROL) ส่งคืนค่าที่ถูกต้องด้วย GLX_SGI_swap_control
- เพิ่ม SDL_VIDEO_FULLSCREEN_DISPLAY เป็นคำพ้องที่ต้องการสำหรับ SDL_VIDEO_FULLSCREEN_HEAD ใน X11
- ตัวแปรสภาพแวดล้อม SDL_VIDEO_FULLSCREEN_DISPLAY สามารถตั้งค่าเป็น 0 เพื่อวางหน้าต่าง SDL แบบเต็มหน้าจอบนหน้าจอ Xinerama แรก
- เพิ่มตัวแปรสภาพแวดล้อม SDL_VIDEO_FBCON_ROTATION เพื่อควบคุมทิศทางเอาต์พุตบนคอนโซลผู้เฟรมบัฟเฟอร์ ค่าที่ถูกต้องคือ: not set - ไม่หมุนไม่มีเงา & quot; NONE & quot; - ไม่หมุน แต่ยังคงใช้เงา & quot; CW & quot; - หมุนหน้าจอตามเข็มนาฬิกา & quot; UD & quot; - หมุนหน้าจอคว่ำ; & quot; ทวนเข็มนาฬิกา & quot; - หมุนหน้าจอตามเข็มนาฬิกา
- แก้ไขการตรวจหา DirectFB ในลินุกซ์บางรุ่น
- เพิ่มรหัสเพื่อใช้โปรเซสเซอร์ PS3 SPE สำหรับการแปลง YUV บน Linux
- อัปเดต ALSA เพื่อสนับสนุน API เสถียรล่าสุด
- ปัจจุบัน ALSA เป็นที่ต้องการมากกว่าเสียง OSS (SDL_AUDIODRIVER = dsp จะกู้คืนการทำงานก่อนหน้านี้)
- ปรับปรุงการสนับสนุน PulseAudio
- การสนับสนุนระบบเครือข่ายเสียงได้รับการโหลดแบบไดนามิกขณะรันไทม์
- แก้ไขข้อขัดข้องกับ Dual USB Joypad MP-8866 บนเคอร์เนล Linux ที่ใหม่กว่า
- แก้ไขข้อขัดข้องใน SDL_Quit () เมื่อจอยสติ๊กถูกถอดออก
ความคิดเห็นที่ไม่พบ