最近对ALLEGRO感兴趣,所以来写写,希望大家能来共同学习一下,共同进步
allegro是一个c/c++的游戏库,免费,开源,最初作者是shawn hargreaves,他支持DOS,UNIX(Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS 还有 MacOS X.提供了大量的图形,声音,玩家输入(键盘,鼠标,游戏手柄),定时器等处理。它支持定点和浮点 数学函数,3D函数,文件管理函数,数据文件压缩,和GUI等功能。Cross-platform support
- Unix (Linux, FreeBSD, Irix, Solaris, Darwin)
- Windows (MSVC, MinGW, Cygwin, Borland)
- BeOS
- QNX
- MacOS X
- Dos (DJGPP, Watcom)
Graphic functions
- Vector drawing:
- pixels, lines, rectangles, circles, ellipses, arcs, Bezier splines
- shape fill, with or without pattern
- polygons: flat, Gouraud, textured (3D) and translucent
- Sprites:
- masked, compressed and compiled sprites
- blitting, rotation, stretching, reduction, alpha blending, Gouraud shading
- native support for BMP, LBM, PCX and TGA files (others supported with library extensions)
- Color palettes:
- color palette manipulation (reading, writing, conversion)
- conversion of color formats RGB <-> HSV
- Text:
- support for different encodings and conversion, default is UTF-8
- bitmap fonts (masking, colouring, alignment)
- Misc:
- draw directly on the screen or on any-size memory bitmaps
- hardware scrolling and triple buffering (where available), mode-X split screen
- animation functions for FLI/FLC format
Graphic drivers
- Unix:
- X Window, DGA, fbcon
- SVGAlib
- VBE/AF
- mode-X
- VGA
- Windows:
- DirectX (windowed or full-screen)
- GDI
- MacOS X:
- Quartz (windowed or full-screen)
- BeOS:
- BWindowScreen
- BDirectWindow
- Dos:
- VGA 13h mode
- mode-X (23 VGA resolution plus unchained 640x400 extended mode)
- SVGA modes in 8, 15, 16, 24 and 32 bits per pixel
- linear VBE 2.0 framebuffer access
- hardware acceleration through VBE/AF API if supported
- additional graphic drivers through FreeBE/AF project
- OpenGL:
- The AllegroGL addon allows to use OpenGL graphics with Allegro.
Sound functions
- Midi:
- native MIDI music format support (with 64 simultaneous effects)
- dynamic control/response to music note on, note off, main volume, pan, pitch bend, and program change
- uses General MIDI patches
- you can read in wavetable patches for MIDI files (SF2 and GUS patches)
- Wave:
- native support of WAV and VOC file formats (playing looped forward, backwards or bidirectional)
- streaming audio
- modify volume, pan, pitch, etc during play
Sound drivers
- Unix:
- OSS
- ALSA (0.5/0.9/1.0)
- ESD
- aRts
- JACK
- SGI AL
- Windows:
- DirectSound
- WaveOut
- MIDI system drivers
- MacOS X:
- Core Audio
- Sound Manager
- Core Audio MIDI
- QuickTime MIDI
- Dos:
- Adlib, SB, SB Pro, SB16, AWE32
- MPU-401
- ESS AudioDrive
- Ensoniq Soundscape
- Windows Sound System
Math functions
- fixed point arithmetic and trigonometric routines
- precalculated trigonometric tables
- vector/matrix/quaternions 3d manipulation (translation, rotation, scaling, projection)
Misc
- mouse, keyboard and joystick management
- high resolution interrupt timers (resolution of 10, 5 or less ms depending on platform)
- vertical retrace simulation
- manipulate configuration files
- manipulate compressed files in LZSS format
- manipulate multi-object resource-like compressed datafiles
- tool for creating datafiles (grabber)
- simple GUI for dialogs and file selector