Difference between revisions of "ZenGL"

From Free Pascal wiki
Jump to navigationJump to search
(changed info about license, added features of svn version)
(Updated with info about new features in ZenGL 0.3.0)
Line 6: Line 6:
 
ZenGL - cross-platform game development library, designed to provide necessary functionality for rendering 2D-graphics, handling input, sound output, etc.
 
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>
 
'''Supported compilers''': FreePascal, Delphi<br>
 
'''Supported compilers''': FreePascal, Delphi<br>
'''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''': [http://zengl.org/license.html Details]
 
''*'' - available only in [http://code.google.com/p/zengl/source/checkout svn] version
 
  
 
== Links ==
 
== Links ==
Line 32: Line 30:
  
 
   * '''Main'''
 
   * '''Main'''
     o can be used as so/dll/dylib or statically compiled with your application
+
     o can be used as so/dll/dylib or statically compiled with your application  
 
     o rendering to own or any other prepared window
 
     o rendering to own or any other prepared window
 
     o logging
 
     o logging
     o resource loading from files and memory
+
     o resource loading from files, memory and '''zip''' archives
 +
    o multithreaded resource loading
 
     o easy way to add supporting for new resource format
 
     o easy way to add supporting for new resource format
 
   * '''Configuration of'''
 
   * '''Configuration of'''
Line 47: Line 46:
 
     o possibility to restrict the input to the Latin alphabet
 
     o possibility to restrict the input to the Latin alphabet
 
   * '''Textures'''
 
   * '''Textures'''
     o supports '''tga''', '''png''' and '''jpg'''
+
     o supports '''tga''', '''png''', '''jpg''' and '''pvr'''
 
     o correct work with NPOT textures
 
     o correct work with NPOT textures
 
     o control the filter parameters
 
     o control the filter parameters
Line 54: Line 53:
 
   * '''Text'''
 
   * '''Text'''
 
     o textured Unicode-font
 
     o textured Unicode-font
     o rendering UTF-8 or ANSI 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-subsystem'''
 
   * '''2D-subsystem'''
Line 75: Line 74:
 
     o control the volume and playback speed
 
     o control the volume and playback speed
 
     o moving sound sources in 3D space
 
     o moving sound sources in 3D space
 +
  * '''Video'''
 +
    o decoding video frames into texture
 +
    o supports '''theora''' codec in '''ogv''' container
 
   * '''Math'''
 
   * '''Math'''
 
     o basic set of additional math functions
 
     o basic set of additional math functions

Revision as of 18:46, 24 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: 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 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 supporting 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 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 и ogg as sound samples
   o playing audio files in separate thread
   o control the 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 work with files and memory