SDL מייצג שכבה פשוטה של DirectMedia והיא ספריית מולטימדיה קוד פתוח שנכתבה ב- C ונועדה לספק גישה ברמה נמוכה לעכבר, מקלדת, אודיו, ג'ויסטיק, חומרה גרפית תלת-ממדית באמצעות Direct3D ו- OpenGL.
משמש הרבה משחקים ענווה עניץ או פרס Valve הזוכה בפרס
בימים אלה, SDL נעשה שימוש נרחב על ידי emulators, תוכנת וידאו השמעה, כמו גם משחקים פופולריים רבים, כולל הזוכה בפרס לינוקס יציאת "תרבות: שיחה אל Powe," רבים עניץ משחקים Bundle, ו Valve של הזוכה בפרס הקטלוג.
פועל על כל מערכות ההפעלה המיינסטרים
פשוט שכבת DirectMedia פועל על מערכות הפעלה רבות, כולל המרכזי גנו / לינוקס, Microsoft Windows ו- Mac OS X. את BeOS, BSD (FreeBSD, OpenBSD), BSD / OS, Solaris, IRIX, QNX OSS, כמו גם את מערכות ההפעלה אנדרואיד ו- iOS נתמכים גם. פלטפורמות חומרה נתמכות כוללות 32 ו- 64 סיביות.
תחילת העבודה עם SDL
SDL זמין בדרך כלל להורדה במערכות הפעלה מבוססות לינוקס רבות, באמצעות מאגרי התוכנה הרשמיים שלהם. התקנת אותו באמצעות חבילת המקור האחרונה, אשר מופץ בחינם על Softoware, קל כמו עוגה.
להוריד ולשמור את הארכיון בספריית הבית, לפרוק אותו, לפתוח יישום מסוף ולנווט למיקום שבו אתה & rsquo; חילוץ את קובץ הארכיון (למשל cd /home /softoware/SDL2-2.0.3).
הפעל את התצורה & lsquo;; / config & & make & rsquo; הפקודה כדי להגדיר, לייעל ולעבד את התוכנית. לאחר קומפילציה מוצלחת, הפעל את & lsquo; sudo make install & rsquo; הפקודה כמשתמש מועדף להתקין מערכת SDL רחב.
מתחת למכסת המנוע
מבט מהיר מתחת למכסה המנוע של פרוייקט ה- SDL, יודיע לנו כי הוא כתוב בשפת התכנות C וכי הוא עובד באופן מקורי עם C + +. חיבורים לשפות תכנות אחרות זמינים גם הם, תומכים בפייתון הנפוץ, & nbsp; עדה, ג 'אווה, לואה, אייפל, ML, PHP, Perl, Pike, רובי, C #.
מה חדש במהדורה זו:
- כללי:
- נוסף ממשק API כדי לקבל נתיבי קבצים משותפים ב- SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- נוסף ממשק API כדי לבצע עדכוני YV12 ומיקומי IYUV ממוטבים: SDL_UpdateYUVTexture ()
- נוסף ממשק API כדי לקבל את כמות ה- RAM במערכת: SDL_GetSystemRAM ()
- נוסף מאקרו כדי לבצע השוואות של חותמת זמן עם SDL_GetTicks (): SDL_TICKS_PASSED ()
- ביצועים משופרים של OpenGL ES 2.0 משופרים באופן דרמטי
- נוסף תכונת OpenGL SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- Linux:
- תמיכת שמע קבועה לצוף עם מנהל ההתקן PulseAudio
- נקודות קצה קבועות חסרות במעבד OpenGL על כמה מנהלי התקנים
- X11 סמלים אינם מוגדרים עוד כדי למנוע התנגשויות בעת קישור סטטי
- Android:
- חשוב: עליך לקבל את ה- SDLActivity.java המעודכן כך שיתאים לקוד C
- העברת אתחול EGL לקוד מקור
- קבוע את ציר הסיבוב ציר הסיבוב יחסית סיבוב המכשיר
- תנאי מרוץ קבוע בעת טיפול ההקשר EGL על השהה / לחדש
- התקני מגע זמינים עבור ספירה מיד לאחר init
- פטל פאי:
- תמיכה נוספת עבור ה- Raspberry Pi, ראה README-raspberrypi.txt לפרטים
מה חדש בגירסה 2.0.3:
- כללי:
- נוסף ממשק API כדי לקבל נתיבי קבצים משותפים ב- SDL_filesystem.h: SDL_GetBasePath (), SDL_GetPrefPath ()
- נוסף ממשק API כדי לבצע עדכוני YV12 ומיקומי IYUV ממוטבים: SDL_UpdateYUVTexture ()
- נוסף ממשק API כדי לקבל את כמות ה- RAM במערכת: SDL_GetSystemRAM ()
- נוסף מאקרו כדי לבצע השוואות של חותמת זמן עם SDL_GetTicks (): SDL_TICKS_PASSED ()
- ביצועים משופרים של OpenGL ES 2.0 משופרים באופן דרמטי
- נוסף תכונת OpenGL SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
- Linux:
- תמיכת שמע קבועה לצוף עם מנהל ההתקן PulseAudio
- נקודות קצה קבועות חסרות במעבד OpenGL על כמה מנהלי התקנים
- X11 סמלים אינם מוגדרים עוד כדי למנוע התנגשויות בעת קישור סטטי
- Android:
- חשוב: עליך לקבל את ה- SDLActivity.java המעודכן כך שיתאים לקוד C
- העברת אתחול EGL לקוד מקור
- קבוע את ציר הסיבוב ציר הסיבוב יחסית סיבוב המכשיר
- תנאי מרוץ קבוע בעת טיפול ההקשר EGL על השהה / לחדש
- התקני מגע זמינים עבור ספירה מיד לאחר init
- פטל פאי:
- תמיכה נוספת עבור ה- Raspberry Pi, ראה README-raspberrypi.txt לפרטים
מה חדש בגירסה 1.2.14:
- הערות כלליות:
- הבהוב קבוע בעת שינוי גודל חלון ה- SDL
- התרסקות קבועה ב- SDL_SetGammaRamp ()
- הקפאה קבועה ב- SDL_memset () עם אורך 0 כאשר קוד ההרכבה מושבת.
- הוספת משתנה סביבת SDL_DISABLE_LOCK_KEYS כדי לאפשר אירועים רגילים של למעלה / למטה עבור מקשי Caps-Lock ומפתחות Num-Lock.
- בעיית איכות שמע קבועה בעת המרת בין 22050 הרץ ל 44100 הרץ.
- תוקן התרסקות מחרוזת כאשר כמה פתילים נוצרים במהירות ומלאים.
- דיוק מוגבר של רוטינות מיזוג אלפא.
- טעינה קבועה של טעינת קבצי BMP שנשמרו עם הסריקות הפוכות.
- קואורדינטות עכבר קבועות מהדק אם SDL_SetVideoMode () אינו נקרא בתגובה לאירוע SDL_VIDEORESIZE.
- תיעוד נוסף של דו-חמצן עבור כותרות ה- API של ה- SDL.
- הערות של Unix:
- פגום זיכרון פוטנציאלי קבוע עקב באג הרכבה עם SDL_revcpy ()
- קריסות קבועות המנסות לזהות תכונות SSE בארכיטקטורה x86_64.
- הרכבה קבועה עבור GCC ממוטב 50% אלפא blending blits.
- אפשרות הוספת תצורה - שומר מסך, המאפשרת הפעלת שומר מסך כברירת מחדל.
- השתמש ב- XResetScreenSaver () במקום בהשבית שומר מסך לחלוטין.
- הסרת הגבלת גודל החלון המרבי ב- X11.
- תוקן SDL_GL_SWAP_CONTROL ב- X11.
- הגדרה קבועה של רמז הזנת החלון X11.
- סמל חלון X11 מסולף קבוע עבור מספר חזותיים.
- זיהוי ספריות X11 קבועות עבור טעינה דינמית ב- Linux 64-bit.
- 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 כדי לשלוט על כיוון הפלט במסוף framebuffer. ערכים חוקיים הם: לא מוגדר - לא מסתובב, לא צל; & quot; NONE & quot; - לא מסתובב, אבל עדיין באמצעות צל; & quot; CW & quot; - סיבוב המסך בכיוון השעון; & quot; UD & quot; - סיבוב המסך הפוך; & quot; CCW & quot; - סיבוב מסך נגד כיוון השעון.
- זיהוי DirectFB קבוע על כמה הפצות לינוקס.
- נוסף קוד לשימוש במעבדי PS3 SPE עבור המרת YUV ב- Linux.
- תמיכה מעודכנת ב- ALSA לממשק ה- API היציב האחרון
- ALSA מועדף כעת על אודיו OSS. (SDL_AUDIODRIVER = dsp ישחזר את ההתנהגות הקודמת.)
- תמיכה משופרת עבור PulseAudio
- התמיכה של מערכת שמע ברשת נטענת כעת באופן דינמי בזמן ריצה.
- התרסקות קבועה עם MP-8866 Dual USB Joypad על ליבות לינוקס חדשות.
- התרסקות קבועה ב- SDL_Quit () בעת ניתוק הג'ויסטיק.
תגובות לא נמצא