Sign in Join
Wiki copytemporary

ZenGL: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: ZenGL

OldNewLine
1+## About
2+
3+**ZenGL** - a cross-platform game development library, designed to provide necessary functionality for rendering 2D graphics, handling input, sound output, etc.
4+
5+- **Supported OS**: GNU/Linux, Windows, macOS, iOS, Android 2.1+
6+
7+- **Supported compilers**: [[Free Pascal]], [[Delphi]]
8+
9+- **Graphics API**: [[OpenGL]], OpenGL ES 1.x, Direct3D 8/9
10+
11+- **Sound API**: OpenAL, DirectSound
12+
13+- **License**: zlib
14+
15+- **Authors**: Andrey "Andru" Kemka, Sergey "Seenkao" Shutkin
16+
17+## Links
18+
19+- [Download ZenGL before version 3.12](https://code.google.com/archive/p/zengl/)
20+- [ZenGL Mirror on GitHub](https://github.com/skalogryz/zengl)
21+- [Bugtracker](http://code.google.com/p/zengl/issues/list)
22+
23+---
24+
25+- [ZenGL up to version 4.2 (version 4.2 has been archived and not tested, see version on SourceForge)](https://github.com/Seenkao/New-ZenGL)
26+- [SourceForge - ZenGL 4.2 and higher source code](https://sourceforge.net/projects/new-zengl/)
27+
28+## Tutorial
29+
30+**Attention!** All examples are contained in the downloaded version of the library. At this time, this is relevant for all versions of ZenGL. These tutorials are not fully compatible with the latest version of ZenGL.
31+
32+[[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.
33+
34+[[ZenGL Tutorial 2]]: This is the second tutorial on how to create a font and draw text in the window.
35+
36+## Features
37+
38+` * `**`Main`**\
39+`   o can be used as so/dll/dylib or statically compiled with your application `\
40+`   o rendering to own or any other prepared window`\
41+`   o logging`\
42+`   o resource loading from files, memory and `**`zip`**` archives`\
43+`   o multithreaded resource loading`\
44+`   o easy way to add support for new resource format`\
45+` * `**`Configuration of`**\
46+`   o antialiasing, screen resolution, refresh rate and vertical synchronization`\
47+`   o aspect correction`\
48+`   o title, position and size of window`\
49+`   o cursor visibility in window space`\
50+` * `**`Input`**\
51+`   o handling of keyboard, mouse and joystick input`\
52+`   o handling of Unicode text input`\
53+`   o possibility to restrict the input to the Latin alphabet`\
54+` * `**`Textures`**\
55+`   o supports `**`tga`**`, `**`png`**`, `**`jpg`**` and `**`pvr`**\
56+`   o correct work with NPOT textures`\
57+`   o control the filter parameters`\
58+`   o masking`\
59+`   o `*`render targets`*` for rendering into texture`\
60+` * `**`Text`**\
61+`   o textured Unicode font`\
62+`   o rendering UTF-8 text`\
63+`   o rendering text with alignment and other options like size, color and count of symbols`\
64+` * `**`2D subsystem`**\
65+`   o `*`batch render`*` for high-speed rendering`\
66+`   o rendering different primitives`\
67+`   o sprite engine`\
68+`   o rendering static and animated sprites and tiles`\
69+`   o rendering distortion grid`\
70+`   o rendering sprites with new texture coordinates (with the pixel dimension and the usual 0..1)`\
71+`   o control the blend mode and color mix mode`\
72+`   o control the color and alpha of vertices of sprites and primitives`\
73+`   o additional sprite transformations (flipping, zooming, vertices offset)`\
74+`   o fast clipping of invisible sprites`\
75+`   o 2D camera with ability to zoom and rotate the scene`\
76+` * `**`Sound`**\
77+`   o works through OpenAL or DirectSound; depends on configuration or OS`\
78+`   o correct work without soundcard`\
79+`   o supports `**`wav`**` and `**`ogg`**` as sound sample formats`\
80+`   o playing audio files in separate thread`\
81+`   o control volume and playback speed`\
82+`   o moving sound sources in 3D space`\
83+` * `**`Video`**\
84+`   o decoding video frames into texture`\
85+`   o supports `**`theora`**` codec in `**`ogv`**` container`\
86+` * `**`Math`**\
87+`   o basic set of additional math functions`\
88+`   o triangulation functions`\
89+`   o basic set of collision functions`\
90+` * `**`Additional`**\
91+`   o reading and writing INI files`\
92+`   o functions for working with files and memory`
93+
94+## In the updated version
95+
96+**Attention!** Basic information in Russian! Thank you for understanding.
97+
98+- Corrected compilation for android for FPC 3.2.0 and higher.
99+- Moved the main code to correct the library
100+- Edited work with Windows 64
101+- Fixed minor bugs
102+- Edited some demo versions (for FPC and iOS demos were not corrected, demo versions for Lazarus and Delphi were revised)
103+- Introduced defines
104+ - define USE_EXIT_ESCAPE - exit. Ability not to write additional code to exit the program by pressing the Escape key
105+ - USE_INIT_HANDLE definition - for using ZenGL in an already created window (LCL/VCL)
106+- Introduced support for MacOS Cocoa
107+
108+Documentation is maintained inside ZenGL modules in Russian and English.
109+
110+Also see the updates in the file *Update _ZenGL.txt* (in Russian).
111+
112+---
113+*From the Free Pascal wiki, page "ZenGL", as it stood on 2023-09-30 after a change by Seenkao, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
114+Category: Audio
115+Category: Components
116+Category: Game Development
117+Category: Games
118+Category: Graphics
119+Category: Multimedia
120+Category: Video

Back to history