Difference between revisions of "ZenGL"
(Updated with info about new features in ZenGL 0.3.0) |
(License clarification; typos/grammar) |
||
Line 4: | Line 4: | ||
== Main == | == Main == | ||
− | ZenGL - cross-platform game development library, designed to provide necessary functionality for rendering 2D | + | ZenGL - cross-platform game development library, designed to provide necessary functionality for rendering 2D graphics, handling input, sound output, etc. |
'''Supported OS''': GNU/Linux, Windows, MacOS X, iOS, Android 2.1+<br> | '''Supported OS''': GNU/Linux, Windows, MacOS X, iOS, Android 2.1+<br> | ||
Line 10: | Line 10: | ||
'''Graphics API''': OpenGL, OpenGL ES 1.x, Direct3D 8/9<br> | '''Graphics API''': OpenGL, OpenGL ES 1.x, Direct3D 8/9<br> | ||
'''Sound API''': OpenAL, DirectSound<br> | '''Sound API''': OpenAL, DirectSound<br> | ||
− | '''License''': [http://zengl.org/license.html Details] | + | '''License''': LGPL v3; commercial license available, e.g. for static linking [http://zengl.org/license.html Details] |
== Links == | == Links == | ||
Line 25: | Line 25: | ||
[[ZenGL Tutorial]]: This is a first tutorial for ZenGL: download, installation, source paths, compilation (statically or with so/dll/dylib) (Windows dll), and the First program 'Initialization' that comes with ZenGL. | [[ZenGL Tutorial]]: This is a first tutorial for ZenGL: download, installation, source paths, compilation (statically or with so/dll/dylib) (Windows dll), and the First program 'Initialization' that comes with ZenGL. | ||
− | [[ZenGL Tutorial 2]]: This is the second tutorial how to create a font and draw text in the window. | + | [[ZenGL Tutorial 2]]: This is the second tutorial on how to create a font and draw text in the window. |
== Features == | == Features == | ||
Line 35: | Line 35: | ||
o resource loading from files, memory and '''zip''' archives | o resource loading from files, memory and '''zip''' archives | ||
o multithreaded resource loading | o multithreaded resource loading | ||
− | o easy way to add | + | o easy way to add support for new resource format |
* '''Configuration of''' | * '''Configuration of''' | ||
o antialiasing, screen resolution, refresh rate and vertical synchronization | o antialiasing, screen resolution, refresh rate and vertical synchronization | ||
Line 42: | Line 42: | ||
o cursor visibility in window space | o cursor visibility in window space | ||
* '''Input''' | * '''Input''' | ||
− | o handling keyboard, mouse and joystick input | + | o handling of keyboard, mouse and joystick input |
o handling of Unicode text input | o handling of Unicode text input | ||
o possibility to restrict the input to the Latin alphabet | o possibility to restrict the input to the Latin alphabet | ||
Line 52: | Line 52: | ||
o ''render targets'' for rendering into texture | o ''render targets'' for rendering into texture | ||
* '''Text''' | * '''Text''' | ||
− | o textured Unicode | + | o textured Unicode font |
o rendering UTF-8 text | o rendering UTF-8 text | ||
o rendering text with alignment and other options like size, color and count of symbols | o rendering text with alignment and other options like size, color and count of symbols | ||
− | * '''2D | + | * '''2D subsystem''' |
o ''batch render'' for high-speed rendering | o ''batch render'' for high-speed rendering | ||
o rendering different primitives | o rendering different primitives | ||
Line 61: | Line 61: | ||
o rendering static and animated sprites and tiles | o rendering static and animated sprites and tiles | ||
o rendering distortion grid | o rendering distortion grid | ||
− | o rendering sprites with new texture coordinates(with the pixel dimension and the usual 0..1) | + | o rendering sprites with new texture coordinates (with the pixel dimension and the usual 0..1) |
o control the blend mode and color mix mode | o control the blend mode and color mix mode | ||
o control the color and alpha of vertices of sprites and primitives | o control the color and alpha of vertices of sprites and primitives | ||
− | o additional sprite transformations(flipping, zooming, vertices offset) | + | o additional sprite transformations (flipping, zooming, vertices offset) |
o fast clipping of invisible sprites | o fast clipping of invisible sprites | ||
o 2D camera with ability to zoom and rotate the scene | o 2D camera with ability to zoom and rotate the scene | ||
* '''Sound''' | * '''Sound''' | ||
− | o works through OpenAL or DirectSound | + | o works through OpenAL or DirectSound; depends on configuration or OS |
o correct work without soundcard | o correct work without soundcard | ||
− | o supports '''wav''' | + | o supports '''wav''' and '''ogg''' as sound sample formats |
o playing audio files in separate thread | o playing audio files in separate thread | ||
− | o control | + | o control volume and playback speed |
o moving sound sources in 3D space | o moving sound sources in 3D space | ||
* '''Video''' | * '''Video''' | ||
Line 82: | Line 82: | ||
o basic set of collision functions | o basic set of collision functions | ||
* '''Additional''' | * '''Additional''' | ||
− | o reading and writing | + | o reading and writing INI files |
− | o functions for | + | o functions for working with files and memory |
[[Category:Components]] | [[Category:Components]] | ||
[[Category:Graphics]] | [[Category:Graphics]] |
Revision as of 15:54, 25 July 2012
│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
русский (ru) │
ZenGL |
Tutorial 1 |
Tutorial 2 |
Tutorial 3 |
Edit
Main
ZenGL - cross-platform game development library, designed to provide necessary functionality for rendering 2D graphics, handling input, sound output, etc.
Supported OS: GNU/Linux, Windows, MacOS X, iOS, Android 2.1+
Supported compilers: FreePascal, Delphi
Graphics API: OpenGL, OpenGL ES 1.x, Direct3D 8/9
Sound API: OpenAL, DirectSound
License: LGPL v3; commercial license available, e.g. for static linking Details
Links
Tutorial
ZenGL Tutorial: This is a first tutorial for ZenGL: download, installation, source paths, compilation (statically or with so/dll/dylib) (Windows dll), and the First program 'Initialization' that comes with ZenGL.
ZenGL Tutorial 2: This is the second tutorial on how to create a font and draw text in the window.
Features
* Main o can be used as so/dll/dylib or statically compiled with your application o rendering to own or any other prepared window o logging o resource loading from files, memory and zip archives o multithreaded resource loading o easy way to add support for new resource format * Configuration of o antialiasing, screen resolution, refresh rate and vertical synchronization o aspect correction o title, position and size of window o cursor visibility in window space * Input o handling of keyboard, mouse and joystick input o handling of Unicode text input o possibility to restrict the input to the Latin alphabet * Textures o supports tga, png, jpg and pvr o correct work with NPOT textures o control the filter parameters o masking o render targets for rendering into texture * Text o textured Unicode font o rendering UTF-8 text o rendering text with alignment and other options like size, color and count of symbols * 2D subsystem o batch render for high-speed rendering o rendering different primitives o sprite engine o rendering static and animated sprites and tiles o rendering distortion grid o rendering sprites with new texture coordinates (with the pixel dimension and the usual 0..1) o control the blend mode and color mix mode o control the color and alpha of vertices of sprites and primitives o additional sprite transformations (flipping, zooming, vertices offset) o fast clipping of invisible sprites o 2D camera with ability to zoom and rotate the scene * Sound o works through OpenAL or DirectSound; depends on configuration or OS o correct work without soundcard o supports wav and ogg as sound sample formats o playing audio files in separate thread o control volume and playback speed o moving sound sources in 3D space * Video o decoding video frames into texture o supports theora codec in ogv container * Math o basic set of additional math functions o triangulation functions o basic set of collision functions * Additional o reading and writing INI files o functions for working with files and memory