From Free Pascal wiki

Deutsch (de) English (en) español (es) français (fr) русский (ru)

ZenGL | Tutorial 1 | Tutorial 2 | Tutorial 3 | Edit


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: zlib



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.


 * 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