|
Size: 5500
Comment: change contributing link
|
Size: 1105
Comment: minor change
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 6: | Line 6: |
| #pragma section-numbers 2 | #pragma section-numbers off |
| Line 12: | Line 12: |
| <<BR>> <<BR>> == Using the SDL documentation Wiki == Use the links under the '''Navigation Links''' heading in the left-hand menu to access: |
|
| Line 13: | Line 17: |
| <<TableOfContents()>> == Using the SDL documentation Wiki == Use the links under the '''Navigation Links''' heading on the left-hand menu to access: * API reference [[CategoryAPI|by name]] or [[APIByCategory|by category]] |
* API reference [[CategoryAPI|by Name]] or [[APIByCategory|by Category]] |
| Line 25: | Line 24: |
| For an introduction to the features in SDL 1.3 check out the [[http://wiki.libsdl.org/moin.cgi/Introduction|Introduction]] page. |
|
| Line 27: | Line 28: |
| == Introduction to SDL == === What is SDL? === The Simple !DirectMedia Layer library (SDL) is a general API that provides low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D framebuffer across multiple platforms. The current version (1.3) supports Windows, Windows CE, Mac OS X, Linux, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, and QNX. The code contains support for other operating systems but those are not officially supported. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk. This library is distributed under [[http://www.libsdl.org/license-lgpl.php|GNU LGPL version 2.1]]. This license allows you to use SDL freely in commercial programs as long as you link with the dynamic library. A full commercial license for SDL 1.3 is available from [[http://www.galaxygameworks.com|Galaxy Gameworks]]. === What can SDL do? === ''''' Video''''' * Set a video mode at any depth (8-bpp or greater) with optional conversion, if the video mode is not supported by the hardware * Write directly to a linear graphics framebuffer * Create surfaces with color key or alpha blending attributes * Surface blits are automatically converted to the target format using optimized blitters and are hardware accelerated, when possible. MMX optimized blits are available for the x86 * Hardware accelerated blit and fill operations are used if supported by the hardware * Window Management * Rendering '''''Input Events''''' * Events provided for: * Application visibility changes * Keyboard input * Mouse input * Joystick input * User-requested quit * Each event can be enabled or disabled with SDL_!EventState() * Events are passed through a user-specified filter function before being posted to the internal event queue * Thread-safe event queue ''''' Force Feedback''''' * Force feedback is supported under Windows, Mac OSX and Linux '''''Audio''''' * Set audio playback of 8-bit and 16-bit audio, mono or stereo, with optional conversion if the format is not supported by the hardware * Audio runs independently in a separate thread, filled via a user callback mechanism * Designed for custom software audio mixers, but the example archive contains a complete audio/music output library '''''File I/O Abstraction''''' * General purpose abstraction for opening, reading and writing data * Built-in support for files and memory '''''Shared Object Support''''' * Load shared objects (DLL on Windows, .dylib on Mac OSX, .so on Linux) * Lookup functions in shared objects '''''Threads''''' * Simple thread creation API * Simple binary semaphores for synchronization '''''Timers''''' * Get the number of milliseconds elapsed * Wait a specified number of milliseconds * Set a single periodic timer with 10ms resolution '''''CPU Feature Detection''''' * Detect MMX, SSE, 3DNow and !AltiVec CPU features '''''Endian Independence''''' * Detect the endianness of the current system * Routines for fast swapping of data values * Read and write data of a specified endianness '''''Power Management''''' * Querying power management status === What platforms does SDL run on? === '''''Windows''''' * Two versions, one safe for all systems based on Win32 APIs, and one with higher performance, based on DirectX APIs * Safe version uses GDI for video display. High performance version uses !Direct3D for video display, taking advantage of modern hardware acceleration * Safe version uses waveOut APIs for sound. High performance version uses !DirectSound for audio playback '''''Mac OSX''''' * Uses Cocoa for video display, taking advantage of OpenGL for hardware acceleration * Uses Core Audio for sound '''''Linux''''' * Uses X11 for video display, taking advantage of OpenGL for hardware acceleration * Uses the ALSA, OSS and !PulseAudio APIs for sound == Special features in SDL 1.3 == * Full 3D hardware acceleration * Support for OpenGL 3.0+ * Support for multiple windows * Support for multiple displays * Support for multiple mice, tablets, etc. * Force Feedback available on Windows, Mac OS X and Linux === Transitioning from SDL 1.2 to 1.3 === * [[http://wiki.libsdl.org/moin.cgi/MigrationGuide|Migration Guide]] |
Simple DirectMedia Layer 1.3 Wiki
This wiki is your portal to documentation and other resources for SDL 1.3.
You can find the old SDL 1.2 wiki at: http://www.libsdl.org/cgi/docwiki.cgi.
Using the SDL documentation Wiki
Use the links under the Navigation Links heading in the left-hand menu to access:
For an introduction to the features in SDL 1.3 check out the Introduction page.
Users wishing to contribute content should follow the guidelines provided in the Contributing guide.
This wiki is powered by MoinMoin.
