Saturday, February 25, 2012

SDL Introduction


Simple DirectMedia Layer (SDL) is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices.

SDL has the word "layer" in its title because it is actually a wrapper around operating-system-specific functions. The main purpose of SDL is to provide a common framework for accessing these functions. For further functionality beyond this goal, many libraries have been created to work on top of SDL.

Software developers use it to write computer games or other multimedia applications that can run on many operating systems including Android, AmigaOS, AmigaOS 4, FreeBSD, BeOS/Haiku, iOS, Linux, Mac OS 9, Mac OS X, MorphOS, OpenVMS, PlayStation Portable, Syllable, Symbian, webOS, and Windows. It manages video, events, digital audio, CD-ROM, sound, threads, shared object loading, networking and timers. 

SDL itself is very simple; it merely acts as a thin, cross-platform wrapper, providing support for 2D pixel operations, sound, file access, event handling, timing, threading, and more. It is often used to complement OpenGL by setting up the graphical output and providing mouse and keyboard input, which are beyond the scope of OpenGL.

The library is divided into several subsystems, namely the video (handles both surface functions and OpenGL), audio, CD-ROM, joystick, and timer subsystems. Besides this basic, low-level support, there also are a few separate official libraries that provide some more functions. These comprise the "standard library", and are provided on the official website and included in the official documentation:
  • SDL_image — support for multiple image formats
  • SDL_mixer — complex audio functions, mainly for sound mixing
  • SDL_ttf — TrueType font rendering support
  • SDL_rtf — simple Rich Text Format rendering
  • SDL_net — networking support
Other, non-standard libraries also exist. For example: SDL_Collide.



0 comments:

Post a Comment

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews