تبليغاتX
OpenGL & Computer graphics - آشنایی با کتابخانه قدرتمند و اوپن سورس SDL

آشنایی با کتابخانه اوپن سورس و قدرتمند SDL

 

 

"SDL" مخفف "Simple DirectMedia Layer" یک کتابخانه مالتی مدیای کراس پلتفرم است که انتزاعی بر روی پلتفرم های گرافیکی و صوتی و API های ورودی گوناگون ایجاد میکند و این قابلیت را در اختیار یک توسعه دهنده قرار میدهد که تنها یکبار بازیهای کامپیوتری و یا دیگر برنامه های مالتی مدیا را نوشته و بر روی پلتفرم هایی نظیر GNU/Linux, Windows, Mac OS Classic, Mac OS X, BeOS FreeBSD, OpenBSD, Solaris, QNX, IRIX, و تعدادی دیگر از پلتفرم هایی که بصورت غیر رسمی به SDL منتقل شده اند اجرا کنید. این کتابخانه قادر است که چیزهایی از قبیل ویدئو و رویدادها و صداهای دیجیتالی و CD-ROM و صوت و Thread ها و لود اشیا مشترک و شبکه و تایمر را مدیریت نماید.

 

Sam Lantinga این کتابخانه را ایجاد نمود و برای اولین بار در سال 1998 هنگامی که برای شرکت

Loki software کار میکرد آن را منتشر ساخت.این ایده از آنجایی به ذهن sam رسید که او داشت یک برنامه ویندوز را به مکینتاش منتقل میکرد. بعد از آن او از SDL منتقل کردن Doom به BeOS استفاده کرد. بعدها کتابخانه های رایگان دیگری برای کار کردن با SDL مانند OpenAL و SMPEG پدیدار گردیدند.

 

کتابخانه SDL بسته بندی "Binding" خاصی برای تمام زبانهای برنامه نویسی رایج و شناخته شده مانند ( C/C++ و Perl و Python و Pascal و ... ) و حتی زبانهای کمتر شناخته شده ای مانند Euphoria و Pliant دارد. این پشتیبانی SDL از زبانهای برنامه نویسی زیاد و همچنین اوپن سورس بودنش و همچنین تحت لیسانس LGPL بودن آن SDL را به انتخاب رایج برای تعداد زیادی از برنامه های مالتی مدیا تبدیل کرده است.

 

لایه های انتزاعی چندین پلتفرم SDL

 

 

SDL به تنهایی بسیار ساده میباشد. SDL صرفا به عنوان یک کتابخانه پوشاننده و سبک و کراس پلتفرم کار میکند که مواردی همچون پشتیبانی از عملیات پیکسلی دو بعدی و صدا و دستیابی به فایلها و بررسی رویدادها و زمان بندی و مالتی تریدینگ و چیزهای دیگر را مهیا میسازد. OpenGL اغلب در کنار SDL به کار میرود تا بتوان یک رندرگر سریع سه بعدی را مهیا ساخت. ترکیب این دو در کنار همدیگر مانند این است که شما به یک ورژن از DirectX کراس پلتفرم دسترسی دارید. هر چند باز هم تعدادی از قابلیتهای DirectX را کم دارد. در عوض SDL تعداد زیادی اکستنشن های قدرتمند دارد که استفاده از توابع پیشرفته را ممکن و راحت ساخت.

 

کتابخانه SDL به چندین زیرسیستم تقسیم شده است که بنامهای زیر سیستم های ویدئو ( هم OpenGL و هم توابع سطح را رسیدگی میکند.) و صدا و CD-ROM و Joystick و تایمر طبقه بندی شده است. همچنین کتابخانه های مستقل از SDL بسیاری وجود دارد که قابلیتهای اضافه ای را مهیا میسازد. تعدادی از این کتابخانه ها بشرح زیر میباشند.

 

  1. کتابخانه SDL_image : یک روش آسان برای لود کردن فایل فرمت های رایج امروزی مهیا میسازد.
  2. کتابخانه SDL_mixer : توابع پیچیده صوتی که بیشتر برای مخلوط کردن اصوات استفاده میشود.
  3. کتابخانه SDL_net : پشتیبانی از امور شبکه
  4. کتابخانه SDL_ttf : پشتیبانی از رندر کردن فونت های ttf یا TrueType Font
  5. کتابخانه SDL_rtf : پشتیبانی از رندر کردن Rich Text Format
  6. و این هم دو تا از بازیهای محبوبی که از این کتابخانه استفاده کرده اند.

Quake 4

 

Neverwinter Nights

 

در این صفحه میتوانید به لیست کاملی از بازیهایی که از این کتابخانه استفاده کرده اند نگاهی بیندازید. در ضمن در وبلاگ آقا ایمان مطالب آموزشی خوب و مفیدی در مورد این کتابخانه موجود میباشد که دوستان علاقمند را به خواندن آنها توصیه میکنم.  بیایید تا یک بار دیگر همه با هم فریاد بزنیم : درود بر اوپن سورس

 

دوستان لطفا در قسمت نظرات حتما نظر خود را در مورد هر مطلب بنویسید. منظور من این نیست که در قسمت نظرات حتما از آن مقاله تشکر کنید یا به به و چه چه کنید. به این وسیله من میخواهم بفهمم که دوستان بیشتر از چه نوع مقالاتی خوششان می آید تا از همان مقالات بیشتر در وبلاگ قرار دهم. تا به مرور وبلاگ به همان چیزی تبدیل شود که دوستان میخواهند. در ضمن به زودی آموزشهای اوپن جی ال مان را ادامه خواهیم داد. دوستان علاقمند میتوانند ورژن PDF این مقاله را از این آدرس دریافت کنند.

 

http://www.rogepost.com/dn/7ypl/SDL.rar

 

منبع : دانشنامه رایگان ویکی پدیا     www.wikipedia.org

 

 

 

 

 

+ نوشته شده توسط ( ساسان و محمد ) در یکشنبه پنجم شهریور 1385 و ساعت |
Image and video hosting by TinyPic